There is no need to require conventional zones for a zoned block device
that is not the first device of a multi-device volume. As a result,
there is no need to check the number of conventional zones of the
device if the device index is not 0.

Signed-off-by: Damien Le Moal <damien.lem...@wdc.com>
---
 lib/libf2fs_zoned.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/lib/libf2fs_zoned.c b/lib/libf2fs_zoned.c
index e396a95..97afe0b 100644
--- a/lib/libf2fs_zoned.c
+++ b/lib/libf2fs_zoned.c
@@ -216,7 +216,14 @@ int f2fs_check_zones(int j)
                goto out;
        }
 
-       if (dev->zoned_model == F2FS_ZONED_HM &&
+       /*
+        * For a multi-device volume, fixed position metadata blocks are
+        * stored * only on the first device of the volume. Checking for the
+        * presence of * conventional zones (randomly writeabl zones) for
+        * storing these blocks * on a host-managed device is thus needed only
+        * for the device index 0.
+        */
+       if (j == 0 && dev->zoned_model == F2FS_ZONED_HM &&
                        !dev->nr_rnd_zones) {
                ERR_MSG("No conventional zone for super block\n");
                ret = -1;
-- 
2.20.1



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to