Hi, On 06/21, Aravind Ramesh wrote: > Hello Kim, > > Could you please pull this ? > I will send a v2 if any review comments are there, please let me know.
I queued this in -dev which will go into -master later. https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/commit/?h=dev&id=b750268dafec5a59716b9aec606dc18a9cbdae70 Thanks, > > Thanks, > Aravind > > > -----Original Message----- > > From: Aravind Ramesh <[email protected]> > > Sent: Thursday, June 17, 2021 12:56 AM > > To: [email protected] > > Cc: [email protected]; Aravind Ramesh <[email protected]> > > Subject: [f2fs-dev] [PATCH] f2fs-tools: fix metadata region overlap with > > zoned block > > device zones > > > > For a volume using a zoned block device without conventional zones (e.g. a > > NVMe > > ZNS drive), a regular block device must be used to store metadata so that > > in-place > > metadata writes can be executed. The zoned block device cannot contain any > > metadata blocks requiring in-place update (e.g. bitmap blocks). When > > formatting a > > volume that contains host managed zoned block devices, make sure that the > > conventional device used to store metadata is large enough to avoid write > > errors. > > > > Signed-off-by: Aravind Ramesh <[email protected]> > > --- > > mkfs/f2fs_format.c | 15 +++++++++++++++ > > 1 file changed, 15 insertions(+) > > > > diff --git a/mkfs/f2fs_format.c b/mkfs/f2fs_format.c index 3565bd3..2132852 > > 100644 > > --- a/mkfs/f2fs_format.c > > +++ b/mkfs/f2fs_format.c > > @@ -440,6 +440,21 @@ static int f2fs_prepare_super_block(void) > > main_blkzone); > > return -1; > > } > > + /* > > + * Check if conventional device has enough space > > + * to accommodate all metadata, zoned device should > > + * not overlap to metadata area. > > + */ > > + for (i = 1; i < c.ndevs; i++) { > > + if (c.devices[i].zoned_model == F2FS_ZONED_HM && > > + c.devices[i].start_blkaddr < > > get_sb(main_blkaddr)) > > { > > + MSG(0, "\tError: Conventional device %s is too > > small," > > + " (%"PRIu64" MiB needed).\n", > > c.devices[0].path, > > + (get_sb(main_blkaddr) - > > + c.devices[i].start_blkaddr) >> 8); > > + return -1; > > + } > > + } > > } > > > > total_zones = get_sb(segment_count) / (c.segs_per_zone) - > > -- > > 2.25.1 _______________________________________________ Linux-f2fs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
