aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/jfs/inode.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/fs/jfs/inode.c b/fs/jfs/inode.c
index 3467dde27e5a..6af378563611 100644
--- a/fs/jfs/inode.c
+++ b/fs/jfs/inode.c
@@ -255,7 +255,7 @@ int jfs_get_block(struct inode *ip, sector_t lblock,
255 255
256static int jfs_writepage(struct page *page, struct writeback_control *wbc) 256static int jfs_writepage(struct page *page, struct writeback_control *wbc)
257{ 257{
258 return nobh_writepage(page, jfs_get_block, wbc); 258 return block_write_full_page(page, jfs_get_block, wbc);
259} 259}
260 260
261static int jfs_writepages(struct address_space *mapping, 261static int jfs_writepages(struct address_space *mapping,
@@ -275,10 +275,13 @@ static int jfs_readpages(struct file *file, struct address_space *mapping,
275 return mpage_readpages(mapping, pages, nr_pages, jfs_get_block); 275 return mpage_readpages(mapping, pages, nr_pages, jfs_get_block);
276} 276}
277 277
278static int jfs_prepare_write(struct file *file, 278static int jfs_write_begin(struct file *file, struct address_space *mapping,
279 struct page *page, unsigned from, unsigned to) 279 loff_t pos, unsigned len, unsigned flags,
280 struct page **pagep, void **fsdata)
280{ 281{
281 return nobh_prepare_write(page, from, to, jfs_get_block); 282 *pagep = NULL;
283 return block_write_begin(file, mapping, pos, len, flags, pagep, fsdata,
284 jfs_get_block);
282} 285}
283 286
284static sector_t jfs_bmap(struct address_space *mapping, sector_t block) 287static sector_t jfs_bmap(struct address_space *mapping, sector_t block)
@@ -302,8 +305,8 @@ const struct address_space_operations jfs_aops = {
302 .writepage = jfs_writepage, 305 .writepage = jfs_writepage,
303 .writepages = jfs_writepages, 306 .writepages = jfs_writepages,
304 .sync_page = block_sync_page, 307 .sync_page = block_sync_page,
305 .prepare_write = jfs_prepare_write, 308 .write_begin = jfs_write_begin,
306 .commit_write = nobh_commit_write, 309 .write_end = generic_write_end,
307 .bmap = jfs_bmap, 310 .bmap = jfs_bmap,
308 .direct_IO = jfs_direct_IO, 311 .direct_IO = jfs_direct_IO,
309}; 312};
@@ -356,7 +359,7 @@ void jfs_truncate(struct inode *ip)
356{ 359{
357 jfs_info("jfs_truncate: size = 0x%lx", (ulong) ip->i_size); 360 jfs_info("jfs_truncate: size = 0x%lx", (ulong) ip->i_size);
358 361
359 nobh_truncate_page(ip->i_mapping, ip->i_size); 362 block_truncate_page(ip->i_mapping, ip->i_size, jfs_get_block);
360 363
361 IWRITE_LOCK(ip, RDWRLOCK_NORMAL); 364 IWRITE_LOCK(ip, RDWRLOCK_NORMAL);
362 jfs_truncate_nolock(ip, ip->i_size); 365 jfs_truncate_nolock(ip, ip->i_size);