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

Reply via email to