diff options
author | Chao Yu <chao2.yu@samsung.com> | 2016-02-22 05:36:38 -0500 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2016-02-23 00:40:02 -0500 |
commit | 7a9d75481b85d59204d76097d41a28db663a7a43 (patch) | |
tree | 4bcb0d357731896f48fafffdae9843ecabde0f4f /fs/f2fs/segment.c | |
parent | 9a4cbc9e5318608740e3e3e44d4d565e19ad5e74 (diff) |
f2fs: trace old block address for CoWed page
This patch enables to trace old block address of CoWed page for better
debugging.
f2fs_submit_page_mbio: dev = (1,0), ino = 1, page_index = 0x1d4f0, oldaddr = 0xfe8ab, newaddr = 0xfee90 rw = WRITE_SYNC, type = NODE
f2fs_submit_page_mbio: dev = (1,0), ino = 1, page_index = 0x1d4f8, oldaddr = 0xfe8b0, newaddr = 0xfee91 rw = WRITE_SYNC, type = NODE
f2fs_submit_page_mbio: dev = (1,0), ino = 1, page_index = 0x1d4fa, oldaddr = 0xfe8ae, newaddr = 0xfee92 rw = WRITE_SYNC, type = NODE
f2fs_submit_page_mbio: dev = (1,0), ino = 134824, page_index = 0x96, oldaddr = 0xf049b, newaddr = 0x2bbe rw = WRITE, type = DATA
f2fs_submit_page_mbio: dev = (1,0), ino = 134824, page_index = 0x97, oldaddr = 0xf049c, newaddr = 0x2bbf rw = WRITE, type = DATA
f2fs_submit_page_mbio: dev = (1,0), ino = 134824, page_index = 0x98, oldaddr = 0xf049d, newaddr = 0x2bc0 rw = WRITE, type = DATA
f2fs_submit_page_mbio: dev = (1,0), ino = 135260, page_index = 0x47, oldaddr = 0xffffffff, newaddr = 0xf2631 rw = WRITE, type = DATA
f2fs_submit_page_mbio: dev = (1,0), ino = 135260, page_index = 0x48, oldaddr = 0xffffffff, newaddr = 0xf2632 rw = WRITE, type = DATA
f2fs_submit_page_mbio: dev = (1,0), ino = 135260, page_index = 0x49, oldaddr = 0xffffffff, newaddr = 0xf2633 rw = WRITE, type = DATA
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 | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c index 5d0e6e6f3af7..d8e13b0d4966 100644 --- a/fs/f2fs/segment.c +++ b/fs/f2fs/segment.c | |||
@@ -1385,8 +1385,8 @@ static void do_write_page(struct f2fs_summary *sum, struct f2fs_io_info *fio) | |||
1385 | { | 1385 | { |
1386 | int type = __get_segment_type(fio->page, fio->type); | 1386 | int type = __get_segment_type(fio->page, fio->type); |
1387 | 1387 | ||
1388 | allocate_data_block(fio->sbi, fio->page, fio->blk_addr, | 1388 | allocate_data_block(fio->sbi, fio->page, fio->old_blkaddr, |
1389 | &fio->blk_addr, sum, type); | 1389 | &fio->new_blkaddr, sum, type); |
1390 | 1390 | ||
1391 | /* writeout dirty page into bdev */ | 1391 | /* writeout dirty page into bdev */ |
1392 | f2fs_submit_page_mbio(fio); | 1392 | f2fs_submit_page_mbio(fio); |
@@ -1398,7 +1398,8 @@ void write_meta_page(struct f2fs_sb_info *sbi, struct page *page) | |||
1398 | .sbi = sbi, | 1398 | .sbi = sbi, |
1399 | .type = META, | 1399 | .type = META, |
1400 | .rw = WRITE_SYNC | REQ_META | REQ_PRIO, | 1400 | .rw = WRITE_SYNC | REQ_META | REQ_PRIO, |
1401 | .blk_addr = page->index, | 1401 | .old_blkaddr = page->index, |
1402 | .new_blkaddr = page->index, | ||
1402 | .page = page, | 1403 | .page = page, |
1403 | .encrypted_page = NULL, | 1404 | .encrypted_page = NULL, |
1404 | }; | 1405 | }; |
@@ -1428,11 +1429,12 @@ void write_data_page(struct dnode_of_data *dn, struct f2fs_io_info *fio) | |||
1428 | get_node_info(sbi, dn->nid, &ni); | 1429 | get_node_info(sbi, dn->nid, &ni); |
1429 | set_summary(&sum, dn->nid, dn->ofs_in_node, ni.version); | 1430 | set_summary(&sum, dn->nid, dn->ofs_in_node, ni.version); |
1430 | do_write_page(&sum, fio); | 1431 | do_write_page(&sum, fio); |
1431 | dn->data_blkaddr = fio->blk_addr; | 1432 | dn->data_blkaddr = fio->new_blkaddr; |
1432 | } | 1433 | } |
1433 | 1434 | ||
1434 | void rewrite_data_page(struct f2fs_io_info *fio) | 1435 | void rewrite_data_page(struct f2fs_io_info *fio) |
1435 | { | 1436 | { |
1437 | fio->new_blkaddr = fio->old_blkaddr; | ||
1436 | stat_inc_inplace_blocks(fio->sbi); | 1438 | stat_inc_inplace_blocks(fio->sbi); |
1437 | f2fs_submit_page_mbio(fio); | 1439 | f2fs_submit_page_mbio(fio); |
1438 | } | 1440 | } |