diff options
author | Chao Yu <chao2.yu@samsung.com> | 2015-05-28 19:15:35 +0800 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2015-06-02 09:52:07 -0700 |
commit | 528e34593d6eff11a289ef23452c66175a340f0b (patch) | |
tree | ee116eb15e84ee2837207649a484c999d7a2c66f /fs/f2fs/segment.c | |
parent | 96c6dd59bf1d8b30afd3681550b321f4183e1914 (diff) | |
download | op-kernel-dev-528e34593d6eff11a289ef23452c66175a340f0b.zip op-kernel-dev-528e34593d6eff11a289ef23452c66175a340f0b.tar.gz |
f2fs: hide common code in f2fs_replace_block
This patch clean up codes through:
1.rename f2fs_replace_block to __f2fs_replace_block().
2.introduce new f2fs_replace_block() to include __f2fs_replace_block()
and some common related codes around __f2fs_replace_block().
Then, newly introduced function f2fs_replace_block can be used by
following patch.
Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/segment.c')
-rw-r--r-- | fs/f2fs/segment.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c index 59566ae..46283a1 100644 --- a/fs/f2fs/segment.c +++ b/fs/f2fs/segment.c @@ -1302,7 +1302,8 @@ void rewrite_data_page(struct f2fs_io_info *fio) f2fs_submit_page_mbio(fio); } -void f2fs_replace_block(struct f2fs_sb_info *sbi, struct f2fs_summary *sum, +static void __f2fs_replace_block(struct f2fs_sb_info *sbi, + struct f2fs_summary *sum, block_t old_blkaddr, block_t new_blkaddr, bool recover_curseg) { @@ -1362,6 +1363,21 @@ void f2fs_replace_block(struct f2fs_sb_info *sbi, struct f2fs_summary *sum, mutex_unlock(&curseg->curseg_mutex); } +void f2fs_replace_block(struct f2fs_sb_info *sbi, struct dnode_of_data *dn, + block_t old_addr, block_t new_addr, + unsigned char version, bool recover_curseg) +{ + struct f2fs_summary sum; + + set_summary(&sum, dn->nid, dn->ofs_in_node, version); + + __f2fs_replace_block(sbi, &sum, old_addr, new_addr, recover_curseg); + + dn->data_blkaddr = new_addr; + set_data_blkaddr(dn); + f2fs_update_extent_cache(dn); +} + static inline bool is_merged_page(struct f2fs_sb_info *sbi, struct page *page, enum page_type type) { |