* [f2fs-dev] [PATCH] f2fs-tools: fix metadata region overlap with zoned block device zones
@ 2021-06-16 19:25 Aravind Ramesh
2021-06-21 19:43 ` Aravind Ramesh
0 siblings, 1 reply; 4+ messages in thread
From: Aravind Ramesh @ 2021-06-16 19:25 UTC (permalink / raw)
To: linux-f2fs-devel; +Cc: jaegeuk
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 <aravind.ramesh@wdc.com>
---
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
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [f2fs-dev] [PATCH] f2fs-tools: fix metadata region overlap with zoned block device zones
2021-06-16 19:25 [f2fs-dev] [PATCH] f2fs-tools: fix metadata region overlap with zoned block device zones Aravind Ramesh
@ 2021-06-21 19:43 ` Aravind Ramesh
2021-06-22 0:44 ` Jaegeuk Kim
0 siblings, 1 reply; 4+ messages in thread
From: Aravind Ramesh @ 2021-06-21 19:43 UTC (permalink / raw)
To: jaegeuk; +Cc: linux-f2fs-devel
Hello Kim,
Could you please pull this ?
I will send a v2 if any review comments are there, please let me know.
Thanks,
Aravind
> -----Original Message-----
> From: Aravind Ramesh <aravind.ramesh@wdc.com>
> Sent: Thursday, June 17, 2021 12:56 AM
> To: linux-f2fs-devel@lists.sourceforge.net
> Cc: jaegeuk@kernel.org; Aravind Ramesh <Aravind.Ramesh@wdc.com>
> 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 <aravind.ramesh@wdc.com>
> ---
> 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
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [f2fs-dev] [PATCH] f2fs-tools: fix metadata region overlap with zoned block device zones
2021-06-21 19:43 ` Aravind Ramesh
@ 2021-06-22 0:44 ` Jaegeuk Kim
2021-06-22 2:49 ` Aravind Ramesh
0 siblings, 1 reply; 4+ messages in thread
From: Jaegeuk Kim @ 2021-06-22 0:44 UTC (permalink / raw)
To: Aravind Ramesh; +Cc: linux-f2fs-devel
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 <aravind.ramesh@wdc.com>
> > Sent: Thursday, June 17, 2021 12:56 AM
> > To: linux-f2fs-devel@lists.sourceforge.net
> > Cc: jaegeuk@kernel.org; Aravind Ramesh <Aravind.Ramesh@wdc.com>
> > 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 <aravind.ramesh@wdc.com>
> > ---
> > 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
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [f2fs-dev] [PATCH] f2fs-tools: fix metadata region overlap with zoned block device zones
2021-06-22 0:44 ` Jaegeuk Kim
@ 2021-06-22 2:49 ` Aravind Ramesh
0 siblings, 0 replies; 4+ messages in thread
From: Aravind Ramesh @ 2021-06-22 2:49 UTC (permalink / raw)
To: Jaegeuk Kim; +Cc: linux-f2fs-devel
>
> 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
>
Thank you.
Aravind
> Thanks,
>
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-06-22 3:05 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-16 19:25 [f2fs-dev] [PATCH] f2fs-tools: fix metadata region overlap with zoned block device zones Aravind Ramesh
2021-06-21 19:43 ` Aravind Ramesh
2021-06-22 0:44 ` Jaegeuk Kim
2021-06-22 2:49 ` Aravind Ramesh
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.