Should finish zones if they are open. Signed-off-by: Jaegeuk Kim <jaeg...@kernel.org> --- include/f2fs_fs.h | 2 ++ lib/libf2fs_zoned.c | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/include/f2fs_fs.h b/include/f2fs_fs.h index 3f5583d18329..15a1c82ae18f 100644 --- a/include/f2fs_fs.h +++ b/include/f2fs_fs.h @@ -1742,6 +1742,8 @@ blk_zone_cond_str(struct blk_zone *blkz) * Handle kernel zone capacity support */ #define blk_zone_empty(z) (blk_zone_cond(z) == BLK_ZONE_COND_EMPTY) +#define blk_zone_open(z) (blk_zone_cond(z) == BLK_ZONE_COND_IMP_OPEN || \ + blk_zone_cond(z) == BLK_ZONE_COND_EXP_OPEN) #define blk_zone_sector(z) (z)->start #define blk_zone_length(z) (z)->len #define blk_zone_wp_sector(z) (z)->wp diff --git a/lib/libf2fs_zoned.c b/lib/libf2fs_zoned.c index 221d7d1337c7..89ba5ad73a76 100644 --- a/lib/libf2fs_zoned.c +++ b/lib/libf2fs_zoned.c @@ -513,7 +513,7 @@ int f2fs_finish_zone(int i, void *blkzone) struct blk_zone_range range; int ret; - if (!blk_zone_seq(blkz) || blk_zone_empty(blkz)) + if (!blk_zone_seq(blkz) || !blk_zone_open(blkz)) return 0; /* Non empty sequential zone: finish */ @@ -522,7 +522,8 @@ int f2fs_finish_zone(int i, void *blkzone) ret = ioctl(dev->fd, BLKFINISHZONE, &range); if (ret != 0) { ret = -errno; - ERR_MSG("ioctl BLKFINISHZONE failed: errno=%d\n", errno); + ERR_MSG("ioctl BLKFINISHZONE failed: errno=%d, status=%s\n", + errno, blk_zone_cond_str(blkz)); } return ret; -- 2.46.0.76.ge559c4bf1a-goog _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel