Message ID | 20230824160832.3195155-1-daeho43@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 3b7166121402a5062d18dcf4e3bce083fb9e4201 |
Headers | show |
Series | [f2fs-dev] f2fs: use finish zone command when closing a zone | expand |
Hello: This patch was applied to jaegeuk/f2fs.git (dev) by Jaegeuk Kim <jaegeuk@kernel.org>: On Thu, 24 Aug 2023 09:08:31 -0700 you wrote: > From: Daeho Jeong <daehojeong@google.com> > > Use the finish zone command first when a zone should be closed. > > Signed-off-by: Daeho Jeong <daehojeong@google.com> > --- > fs/f2fs/segment.c | 19 +++++++++++++------ > 1 file changed, 13 insertions(+), 6 deletions(-) Here is the summary with links: - [f2fs-dev] f2fs: use finish zone command when closing a zone https://git.kernel.org/jaegeuk/f2fs/c/3b7166121402 You are awesome, thank you!
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c index b38bf2b34490..d05b41608fc0 100644 --- a/fs/f2fs/segment.c +++ b/fs/f2fs/segment.c @@ -4948,12 +4948,19 @@ static int check_zone_write_pointer(struct f2fs_sb_info *sbi, GET_BLKOFF_FROM_SEG0(sbi, last_valid_block), wp_segno, wp_blkoff); - ret = blkdev_issue_zeroout(fdev->bdev, zone->wp, - zone->len - (zone->wp - zone->start), - GFP_NOFS, 0); - if (ret) - f2fs_err(sbi, "Fill up zone failed: %s (errno=%d)", - fdev->path, ret); + ret = blkdev_zone_mgmt(fdev->bdev, REQ_OP_ZONE_FINISH, + zone->start, zone->len, GFP_NOFS); + if (ret == -EOPNOTSUPP) { + ret = blkdev_issue_zeroout(fdev->bdev, zone->wp, + zone->len - (zone->wp - zone->start), + GFP_NOFS, 0); + if (ret) + f2fs_err(sbi, "Fill up zone failed: %s (errno=%d)", + fdev->path, ret); + } else if (ret) { + f2fs_err(sbi, "Finishing zone failed: %s (errno=%d)", + fdev->path, ret); + } return ret; }