diff options
Diffstat (limited to 'fs/ext2/inode.c')
-rw-r--r-- | fs/ext2/inode.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/fs/ext2/inode.c b/fs/ext2/inode.c index 0079b2cd5314..63ab02aa4c52 100644 --- a/fs/ext2/inode.c +++ b/fs/ext2/inode.c | |||
@@ -642,18 +642,21 @@ ext2_readpages(struct file *file, struct address_space *mapping, | |||
642 | return mpage_readpages(mapping, pages, nr_pages, ext2_get_block); | 642 | return mpage_readpages(mapping, pages, nr_pages, ext2_get_block); |
643 | } | 643 | } |
644 | 644 | ||
645 | static int | 645 | int __ext2_write_begin(struct file *file, struct address_space *mapping, |
646 | ext2_prepare_write(struct file *file, struct page *page, | 646 | loff_t pos, unsigned len, unsigned flags, |
647 | unsigned from, unsigned to) | 647 | struct page **pagep, void **fsdata) |
648 | { | 648 | { |
649 | return block_prepare_write(page,from,to,ext2_get_block); | 649 | return block_write_begin(file, mapping, pos, len, flags, pagep, fsdata, |
650 | ext2_get_block); | ||
650 | } | 651 | } |
651 | 652 | ||
652 | static int | 653 | static int |
653 | ext2_nobh_prepare_write(struct file *file, struct page *page, | 654 | ext2_write_begin(struct file *file, struct address_space *mapping, |
654 | unsigned from, unsigned to) | 655 | loff_t pos, unsigned len, unsigned flags, |
656 | struct page **pagep, void **fsdata) | ||
655 | { | 657 | { |
656 | return nobh_prepare_write(page,from,to,ext2_get_block); | 658 | *pagep = NULL; |
659 | return __ext2_write_begin(file, mapping, pos, len, flags, pagep,fsdata); | ||
657 | } | 660 | } |
658 | 661 | ||
659 | static int ext2_nobh_writepage(struct page *page, | 662 | static int ext2_nobh_writepage(struct page *page, |
@@ -689,8 +692,8 @@ const struct address_space_operations ext2_aops = { | |||
689 | .readpages = ext2_readpages, | 692 | .readpages = ext2_readpages, |
690 | .writepage = ext2_writepage, | 693 | .writepage = ext2_writepage, |
691 | .sync_page = block_sync_page, | 694 | .sync_page = block_sync_page, |
692 | .prepare_write = ext2_prepare_write, | 695 | .write_begin = ext2_write_begin, |
693 | .commit_write = generic_commit_write, | 696 | .write_end = generic_write_end, |
694 | .bmap = ext2_bmap, | 697 | .bmap = ext2_bmap, |
695 | .direct_IO = ext2_direct_IO, | 698 | .direct_IO = ext2_direct_IO, |
696 | .writepages = ext2_writepages, | 699 | .writepages = ext2_writepages, |
@@ -707,8 +710,7 @@ const struct address_space_operations ext2_nobh_aops = { | |||
707 | .readpages = ext2_readpages, | 710 | .readpages = ext2_readpages, |
708 | .writepage = ext2_nobh_writepage, | 711 | .writepage = ext2_nobh_writepage, |
709 | .sync_page = block_sync_page, | 712 | .sync_page = block_sync_page, |
710 | .prepare_write = ext2_nobh_prepare_write, | 713 | /* XXX: todo */ |
711 | .commit_write = nobh_commit_write, | ||
712 | .bmap = ext2_bmap, | 714 | .bmap = ext2_bmap, |
713 | .direct_IO = ext2_direct_IO, | 715 | .direct_IO = ext2_direct_IO, |
714 | .writepages = ext2_writepages, | 716 | .writepages = ext2_writepages, |