All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.