diff options
author | Chao Yu <chao2.yu@samsung.com> | 2015-03-19 07:23:32 -0400 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2015-04-10 18:08:49 -0400 |
commit | 216a620a7c3d35ae604ba519c99c5cd1ce4dad6e (patch) | |
tree | 19a921c7d4480be6bacd33965b99d3d0b5248330 /fs/f2fs | |
parent | 368a0e40b5aedb036de3d78333571c8689869490 (diff) |
f2fs: split set_data_blkaddr from f2fs_update_extent_cache
Split __set_data_blkaddr from f2fs_update_extent_cache for readability.
Additionally rename __set_data_blkaddr to set_data_blkaddr for exporting.
Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs')
-rw-r--r-- | fs/f2fs/data.c | 10 | ||||
-rw-r--r-- | fs/f2fs/f2fs.h | 1 | ||||
-rw-r--r-- | fs/f2fs/file.c | 1 | ||||
-rw-r--r-- | fs/f2fs/inline.c | 1 | ||||
-rw-r--r-- | fs/f2fs/recovery.c | 1 |
5 files changed, 8 insertions, 6 deletions
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index 241b98741df9..6492f88a2cc4 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c | |||
@@ -200,7 +200,7 @@ alloc_new: | |||
200 | * ->node_page | 200 | * ->node_page |
201 | * update block addresses in the node page | 201 | * update block addresses in the node page |
202 | */ | 202 | */ |
203 | static void __set_data_blkaddr(struct dnode_of_data *dn) | 203 | void set_data_blkaddr(struct dnode_of_data *dn) |
204 | { | 204 | { |
205 | struct f2fs_node *rn; | 205 | struct f2fs_node *rn; |
206 | __le32 *addr_array; | 206 | __le32 *addr_array; |
@@ -229,7 +229,7 @@ int reserve_new_block(struct dnode_of_data *dn) | |||
229 | trace_f2fs_reserve_new_block(dn->inode, dn->nid, dn->ofs_in_node); | 229 | trace_f2fs_reserve_new_block(dn->inode, dn->nid, dn->ofs_in_node); |
230 | 230 | ||
231 | dn->data_blkaddr = NEW_ADDR; | 231 | dn->data_blkaddr = NEW_ADDR; |
232 | __set_data_blkaddr(dn); | 232 | set_data_blkaddr(dn); |
233 | mark_inode_dirty(dn->inode); | 233 | mark_inode_dirty(dn->inode); |
234 | sync_inode_page(dn); | 234 | sync_inode_page(dn); |
235 | return 0; | 235 | return 0; |
@@ -784,9 +784,6 @@ void f2fs_update_extent_cache(struct dnode_of_data *dn) | |||
784 | 784 | ||
785 | f2fs_bug_on(F2FS_I_SB(dn->inode), dn->data_blkaddr == NEW_ADDR); | 785 | f2fs_bug_on(F2FS_I_SB(dn->inode), dn->data_blkaddr == NEW_ADDR); |
786 | 786 | ||
787 | /* Update the page address in the parent node */ | ||
788 | __set_data_blkaddr(dn); | ||
789 | |||
790 | if (is_inode_flag_set(fi, FI_NO_EXTENT)) | 787 | if (is_inode_flag_set(fi, FI_NO_EXTENT)) |
791 | return; | 788 | return; |
792 | 789 | ||
@@ -1032,7 +1029,7 @@ static int __allocate_data_block(struct dnode_of_data *dn) | |||
1032 | allocate_data_block(sbi, NULL, NULL_ADDR, &dn->data_blkaddr, &sum, seg); | 1029 | allocate_data_block(sbi, NULL, NULL_ADDR, &dn->data_blkaddr, &sum, seg); |
1033 | 1030 | ||
1034 | /* direct IO doesn't use extent cache to maximize the performance */ | 1031 | /* direct IO doesn't use extent cache to maximize the performance */ |
1035 | __set_data_blkaddr(dn); | 1032 | set_data_blkaddr(dn); |
1036 | 1033 | ||
1037 | /* update i_size */ | 1034 | /* update i_size */ |
1038 | fofs = start_bidx_of_node(ofs_of_node(dn->node_page), fi) + | 1035 | fofs = start_bidx_of_node(ofs_of_node(dn->node_page), fi) + |
@@ -1290,6 +1287,7 @@ int do_write_data_page(struct page *page, struct f2fs_io_info *fio) | |||
1290 | trace_f2fs_do_write_data_page(page, IPU); | 1287 | trace_f2fs_do_write_data_page(page, IPU); |
1291 | } else { | 1288 | } else { |
1292 | write_data_page(page, &dn, fio); | 1289 | write_data_page(page, &dn, fio); |
1290 | set_data_blkaddr(&dn); | ||
1293 | f2fs_update_extent_cache(&dn); | 1291 | f2fs_update_extent_cache(&dn); |
1294 | trace_f2fs_do_write_data_page(page, OPU); | 1292 | trace_f2fs_do_write_data_page(page, OPU); |
1295 | set_inode_flag(F2FS_I(inode), FI_APPEND_WRITE); | 1293 | set_inode_flag(F2FS_I(inode), FI_APPEND_WRITE); |
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h index c9818193e15e..83223d8b32bb 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h | |||
@@ -1591,6 +1591,7 @@ int f2fs_submit_page_bio(struct f2fs_sb_info *, struct page *, | |||
1591 | struct f2fs_io_info *); | 1591 | struct f2fs_io_info *); |
1592 | void f2fs_submit_page_mbio(struct f2fs_sb_info *, struct page *, | 1592 | void f2fs_submit_page_mbio(struct f2fs_sb_info *, struct page *, |
1593 | struct f2fs_io_info *); | 1593 | struct f2fs_io_info *); |
1594 | void set_data_blkaddr(struct dnode_of_data *); | ||
1594 | int reserve_new_block(struct dnode_of_data *); | 1595 | int reserve_new_block(struct dnode_of_data *); |
1595 | int f2fs_reserve_block(struct dnode_of_data *, pgoff_t); | 1596 | int f2fs_reserve_block(struct dnode_of_data *, pgoff_t); |
1596 | void f2fs_shrink_extent_tree(struct f2fs_sb_info *, int); | 1597 | void f2fs_shrink_extent_tree(struct f2fs_sb_info *, int); |
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index 39a07a59b134..da1392965424 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c | |||
@@ -435,6 +435,7 @@ int truncate_data_blocks_range(struct dnode_of_data *dn, int count) | |||
435 | continue; | 435 | continue; |
436 | 436 | ||
437 | dn->data_blkaddr = NULL_ADDR; | 437 | dn->data_blkaddr = NULL_ADDR; |
438 | set_data_blkaddr(dn); | ||
438 | f2fs_update_extent_cache(dn); | 439 | f2fs_update_extent_cache(dn); |
439 | invalidate_blocks(sbi, blkaddr); | 440 | invalidate_blocks(sbi, blkaddr); |
440 | if (dn->ofs_in_node == 0 && IS_INODE(dn->node_page)) | 441 | if (dn->ofs_in_node == 0 && IS_INODE(dn->node_page)) |
diff --git a/fs/f2fs/inline.c b/fs/f2fs/inline.c index 375d2c797f4c..8241a87046c3 100644 --- a/fs/f2fs/inline.c +++ b/fs/f2fs/inline.c | |||
@@ -131,6 +131,7 @@ no_update: | |||
131 | set_page_writeback(page); | 131 | set_page_writeback(page); |
132 | fio.blk_addr = dn->data_blkaddr; | 132 | fio.blk_addr = dn->data_blkaddr; |
133 | write_data_page(page, dn, &fio); | 133 | write_data_page(page, dn, &fio); |
134 | set_data_blkaddr(dn); | ||
134 | f2fs_update_extent_cache(dn); | 135 | f2fs_update_extent_cache(dn); |
135 | f2fs_wait_on_page_writeback(page, DATA); | 136 | f2fs_wait_on_page_writeback(page, DATA); |
136 | if (dirty) | 137 | if (dirty) |
diff --git a/fs/f2fs/recovery.c b/fs/f2fs/recovery.c index 6e40874dfbb9..e60ffaa380f1 100644 --- a/fs/f2fs/recovery.c +++ b/fs/f2fs/recovery.c | |||
@@ -403,6 +403,7 @@ static int do_recover_data(struct f2fs_sb_info *sbi, struct inode *inode, | |||
403 | /* write dummy data page */ | 403 | /* write dummy data page */ |
404 | recover_data_page(sbi, NULL, &sum, src, dest); | 404 | recover_data_page(sbi, NULL, &sum, src, dest); |
405 | dn.data_blkaddr = dest; | 405 | dn.data_blkaddr = dest; |
406 | set_data_blkaddr(&dn); | ||
406 | f2fs_update_extent_cache(&dn); | 407 | f2fs_update_extent_cache(&dn); |
407 | recovered++; | 408 | recovered++; |
408 | } | 409 | } |