nilfs2: simplify nilfs_mdt_freeze_buffer
authorRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Sun, 26 Dec 2010 15:03:02 +0000 (00:03 +0900)
committerRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Mon, 10 Jan 2011 05:05:46 +0000 (14:05 +0900)
nilfs_page_get_nth_block() function used in nilfs_mdt_freeze_buffer()
always returns a valid buffer head, so its validity check can be
removed.

Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
fs/nilfs2/mdt.c

index f5d4b184eaf9b54f81159f0df1efeccfaed80dfc..6a0e2a189f60650b3399f4b9d3732ac6037f791f 100644 (file)
@@ -493,31 +493,29 @@ int nilfs_mdt_freeze_buffer(struct inode *inode, struct buffer_head *bh)
        struct buffer_head *bh_frozen;
        struct page *page;
        int blkbits = inode->i_blkbits;
-       int ret = -ENOMEM;
 
        page = grab_cache_page(&shadow->frozen_data, bh->b_page->index);
        if (!page)
-               return ret;
+               return -ENOMEM;
 
        if (!page_has_buffers(page))
                create_empty_buffers(page, 1 << blkbits, 0);
 
        bh_frozen = nilfs_page_get_nth_block(page, bh_offset(bh) >> blkbits);
-       if (bh_frozen) {
-               if (!buffer_uptodate(bh_frozen))
-                       nilfs_copy_buffer(bh_frozen, bh);
-               if (list_empty(&bh_frozen->b_assoc_buffers)) {
-                       list_add_tail(&bh_frozen->b_assoc_buffers,
-                                     &shadow->frozen_buffers);
-                       set_buffer_nilfs_redirected(bh);
-               } else {
-                       brelse(bh_frozen); /* already frozen */
-               }
-               ret = 0;
+
+       if (!buffer_uptodate(bh_frozen))
+               nilfs_copy_buffer(bh_frozen, bh);
+       if (list_empty(&bh_frozen->b_assoc_buffers)) {
+               list_add_tail(&bh_frozen->b_assoc_buffers,
+                             &shadow->frozen_buffers);
+               set_buffer_nilfs_redirected(bh);
+       } else {
+               brelse(bh_frozen); /* already frozen */
        }
+
        unlock_page(page);
        page_cache_release(page);
-       return ret;
+       return 0;
 }
 
 struct buffer_head *