mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-11-18 15:44:02 +08:00
nilfs2: simplify nilfs_mdt_freeze_buffer
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>
This commit is contained in:
parent
888da23c2f
commit
a7a8447ede
@ -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 *
|
||||
|
Loading…
Reference in New Issue
Block a user