diff options
Diffstat (limited to 'fs/nilfs2/btnode.c')
-rw-r--r-- | fs/nilfs2/btnode.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/nilfs2/btnode.c b/fs/nilfs2/btnode.c index c668bca579c1..84c25382f8e3 100644 --- a/fs/nilfs2/btnode.c +++ b/fs/nilfs2/btnode.c | |||
@@ -36,6 +36,7 @@ | |||
36 | 36 | ||
37 | void nilfs_btnode_cache_init_once(struct address_space *btnc) | 37 | void nilfs_btnode_cache_init_once(struct address_space *btnc) |
38 | { | 38 | { |
39 | memset(btnc, 0, sizeof(*btnc)); | ||
39 | INIT_RADIX_TREE(&btnc->page_tree, GFP_ATOMIC); | 40 | INIT_RADIX_TREE(&btnc->page_tree, GFP_ATOMIC); |
40 | spin_lock_init(&btnc->tree_lock); | 41 | spin_lock_init(&btnc->tree_lock); |
41 | INIT_LIST_HEAD(&btnc->private_list); | 42 | INIT_LIST_HEAD(&btnc->private_list); |
@@ -46,7 +47,7 @@ void nilfs_btnode_cache_init_once(struct address_space *btnc) | |||
46 | INIT_LIST_HEAD(&btnc->i_mmap_nonlinear); | 47 | INIT_LIST_HEAD(&btnc->i_mmap_nonlinear); |
47 | } | 48 | } |
48 | 49 | ||
49 | static struct address_space_operations def_btnode_aops = { | 50 | static const struct address_space_operations def_btnode_aops = { |
50 | .sync_page = block_sync_page, | 51 | .sync_page = block_sync_page, |
51 | }; | 52 | }; |
52 | 53 | ||
@@ -86,6 +87,7 @@ int nilfs_btnode_submit_block(struct address_space *btnc, __u64 blocknr, | |||
86 | brelse(bh); | 87 | brelse(bh); |
87 | BUG(); | 88 | BUG(); |
88 | } | 89 | } |
90 | memset(bh->b_data, 0, 1 << inode->i_blkbits); | ||
89 | bh->b_bdev = NILFS_I_NILFS(inode)->ns_bdev; | 91 | bh->b_bdev = NILFS_I_NILFS(inode)->ns_bdev; |
90 | bh->b_blocknr = blocknr; | 92 | bh->b_blocknr = blocknr; |
91 | set_buffer_mapped(bh); | 93 | set_buffer_mapped(bh); |
@@ -275,8 +277,7 @@ void nilfs_btnode_commit_change_key(struct address_space *btnc, | |||
275 | "invalid oldkey %lld (newkey=%lld)", | 277 | "invalid oldkey %lld (newkey=%lld)", |
276 | (unsigned long long)oldkey, | 278 | (unsigned long long)oldkey, |
277 | (unsigned long long)newkey); | 279 | (unsigned long long)newkey); |
278 | if (!test_set_buffer_dirty(obh) && TestSetPageDirty(opage)) | 280 | nilfs_btnode_mark_dirty(obh); |
279 | BUG(); | ||
280 | 281 | ||
281 | spin_lock_irq(&btnc->tree_lock); | 282 | spin_lock_irq(&btnc->tree_lock); |
282 | radix_tree_delete(&btnc->page_tree, oldkey); | 283 | radix_tree_delete(&btnc->page_tree, oldkey); |