Message ID | 20240129112740.1908649-1-chao@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Commit | cd3ac0d15df74727044a15e6c6954d9a11a59860 |
Headers | show |
Series | [f2fs-dev] f2fs: zone: fix to wait completion of last bio in zone correctly | expand |
Reviewed-by: Daeho Jeong <daehojeong@google.com> Thanks, On Mon, Jan 29, 2024 at 3:29 AM Chao Yu <chao@kernel.org> wrote: > > It needs to check last zone_pending_bio and wait IO completion before > traverse next fio in io->io_list, otherwise, bio in next zone may be > submitted before all IO completion in current zone. > > Fixes: e067dc3c6b9c ("f2fs: maintain six open zones for zoned devices") > Cc: Daeho Jeong <daehojeong@google.com> > Signed-off-by: Chao Yu <chao@kernel.org> > --- > fs/f2fs/data.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c > index f45ecb810ae6..8cdbc5ae44db 100644 > --- a/fs/f2fs/data.c > +++ b/fs/f2fs/data.c > @@ -1006,7 +1006,7 @@ void f2fs_submit_page_write(struct f2fs_io_info *fio) > f2fs_bug_on(sbi, is_read_io(fio->op)); > > f2fs_down_write(&io->io_rwsem); > - > +next: > #ifdef CONFIG_BLK_DEV_ZONED > if (f2fs_sb_has_blkzoned(sbi) && btype < META && io->zone_pending_bio) { > wait_for_completion_io(&io->zone_wait); > @@ -1016,7 +1016,6 @@ void f2fs_submit_page_write(struct f2fs_io_info *fio) > } > #endif > > -next: > if (fio->in_list) { > spin_lock(&io->io_lock); > if (list_empty(&io->io_list)) { > -- > 2.40.1 > > > > _______________________________________________ > Linux-f2fs-devel mailing list > Linux-f2fs-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
Hello: This patch was applied to jaegeuk/f2fs.git (dev) by Jaegeuk Kim <jaegeuk@kernel.org>: On Mon, 29 Jan 2024 19:27:40 +0800 you wrote: > It needs to check last zone_pending_bio and wait IO completion before > traverse next fio in io->io_list, otherwise, bio in next zone may be > submitted before all IO completion in current zone. > > Fixes: e067dc3c6b9c ("f2fs: maintain six open zones for zoned devices") > Cc: Daeho Jeong <daehojeong@google.com> > Signed-off-by: Chao Yu <chao@kernel.org> > > [...] Here is the summary with links: - [f2fs-dev] f2fs: zone: fix to wait completion of last bio in zone correctly https://git.kernel.org/jaegeuk/f2fs/c/cd3ac0d15df7 You are awesome, thank you!
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index f45ecb810ae6..8cdbc5ae44db 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c @@ -1006,7 +1006,7 @@ void f2fs_submit_page_write(struct f2fs_io_info *fio) f2fs_bug_on(sbi, is_read_io(fio->op)); f2fs_down_write(&io->io_rwsem); - +next: #ifdef CONFIG_BLK_DEV_ZONED if (f2fs_sb_has_blkzoned(sbi) && btype < META && io->zone_pending_bio) { wait_for_completion_io(&io->zone_wait); @@ -1016,7 +1016,6 @@ void f2fs_submit_page_write(struct f2fs_io_info *fio) } #endif -next: if (fio->in_list) { spin_lock(&io->io_lock); if (list_empty(&io->io_list)) {
It needs to check last zone_pending_bio and wait IO completion before traverse next fio in io->io_list, otherwise, bio in next zone may be submitted before all IO completion in current zone. Fixes: e067dc3c6b9c ("f2fs: maintain six open zones for zoned devices") Cc: Daeho Jeong <daehojeong@google.com> Signed-off-by: Chao Yu <chao@kernel.org> --- fs/f2fs/data.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)