diff options
author | Chao Yu <yuchao0@huawei.com> | 2017-05-19 11:37:01 -0400 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2017-05-24 00:09:03 -0400 |
commit | fb830fc5cfc90ba8236921aacb72c6d70bf78af7 (patch) | |
tree | b4a67924b1df7f03367b6af6b2d795efff91699b /fs/f2fs/gc.c | |
parent | e41e6d75e5010741f01f8aa4f77a5e8a1786652d (diff) |
f2fs: introduce io_list for serialize data/node IOs
Serialize data/node IOs by using fifo list instead of mutex lock,
it will help to enhance concurrency of f2fs, meanwhile keeping LFS
IO semantics.
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/gc.c')
-rw-r--r-- | fs/f2fs/gc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c index 570480571d72..fa3d2e2df8e7 100644 --- a/fs/f2fs/gc.c +++ b/fs/f2fs/gc.c | |||
@@ -600,6 +600,7 @@ static void move_encrypted_block(struct inode *inode, block_t bidx, | |||
600 | .op = REQ_OP_READ, | 600 | .op = REQ_OP_READ, |
601 | .op_flags = 0, | 601 | .op_flags = 0, |
602 | .encrypted_page = NULL, | 602 | .encrypted_page = NULL, |
603 | .in_list = false, | ||
603 | }; | 604 | }; |
604 | struct dnode_of_data dn; | 605 | struct dnode_of_data dn; |
605 | struct f2fs_summary sum; | 606 | struct f2fs_summary sum; |
@@ -643,7 +644,7 @@ static void move_encrypted_block(struct inode *inode, block_t bidx, | |||
643 | fio.new_blkaddr = fio.old_blkaddr = dn.data_blkaddr; | 644 | fio.new_blkaddr = fio.old_blkaddr = dn.data_blkaddr; |
644 | 645 | ||
645 | allocate_data_block(fio.sbi, NULL, fio.old_blkaddr, &newaddr, | 646 | allocate_data_block(fio.sbi, NULL, fio.old_blkaddr, &newaddr, |
646 | &sum, CURSEG_COLD_DATA); | 647 | &sum, CURSEG_COLD_DATA, NULL, false); |
647 | 648 | ||
648 | fio.encrypted_page = pagecache_get_page(META_MAPPING(fio.sbi), newaddr, | 649 | fio.encrypted_page = pagecache_get_page(META_MAPPING(fio.sbi), newaddr, |
649 | FGP_LOCK | FGP_CREAT, GFP_NOFS); | 650 | FGP_LOCK | FGP_CREAT, GFP_NOFS); |