]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/hfsplus/inode.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
[linux-2.6-omap-h63xx.git] / fs / hfsplus / inode.c
index 409ce5429c91ccb8b53d5a9fff6ef0118546722d..37744cf3706ac4e7487c687974bda361eb0e873a 100644 (file)
@@ -27,10 +27,14 @@ static int hfsplus_writepage(struct page *page, struct writeback_control *wbc)
        return block_write_full_page(page, hfsplus_get_block, wbc);
 }
 
-static int hfsplus_prepare_write(struct file *file, struct page *page, unsigned from, unsigned to)
+static int hfsplus_write_begin(struct file *file, struct address_space *mapping,
+                       loff_t pos, unsigned len, unsigned flags,
+                       struct page **pagep, void **fsdata)
 {
-       return cont_prepare_write(page, from, to, hfsplus_get_block,
-               &HFSPLUS_I(page->mapping->host).phys_size);
+       *pagep = NULL;
+       return cont_write_begin(file, mapping, pos, len, flags, pagep, fsdata,
+                               hfsplus_get_block,
+                               &HFSPLUS_I(mapping->host).phys_size);
 }
 
 static sector_t hfsplus_bmap(struct address_space *mapping, sector_t block)
@@ -114,8 +118,8 @@ const struct address_space_operations hfsplus_btree_aops = {
        .readpage       = hfsplus_readpage,
        .writepage      = hfsplus_writepage,
        .sync_page      = block_sync_page,
-       .prepare_write  = hfsplus_prepare_write,
-       .commit_write   = generic_commit_write,
+       .write_begin    = hfsplus_write_begin,
+       .write_end      = generic_write_end,
        .bmap           = hfsplus_bmap,
        .releasepage    = hfsplus_releasepage,
 };
@@ -124,13 +128,18 @@ const struct address_space_operations hfsplus_aops = {
        .readpage       = hfsplus_readpage,
        .writepage      = hfsplus_writepage,
        .sync_page      = block_sync_page,
-       .prepare_write  = hfsplus_prepare_write,
-       .commit_write   = generic_commit_write,
+       .write_begin    = hfsplus_write_begin,
+       .write_end      = generic_write_end,
        .bmap           = hfsplus_bmap,
        .direct_IO      = hfsplus_direct_IO,
        .writepages     = hfsplus_writepages,
 };
 
+struct dentry_operations hfsplus_dentry_operations = {
+       .d_hash       = hfsplus_hash_dentry,
+       .d_compare    = hfsplus_compare_dentry,
+};
+
 static struct dentry *hfsplus_file_lookup(struct inode *dir, struct dentry *dentry,
                                          struct nameidata *nd)
 {