Commit 2bd4df8f authored by Chunhai Guo's avatar Chunhai Guo Committed by Jaegeuk Kim
Browse files

f2fs: Only lfs mode is allowed with zoned block device feature



Now f2fs support four block allocation modes: lfs, adaptive,
fragment:segment, fragment:block. Only lfs mode is allowed with zoned block
device feature.

Fixes: 6691d940 ("f2fs: introduce fragment allocation mode mount option")
Signed-off-by: default avatarChunhai Guo <guochunhai@vivo.com>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent 3cb88bc1
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -862,11 +862,6 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount)
			if (!name)
				return -ENOMEM;
			if (!strcmp(name, "adaptive")) {
				if (f2fs_sb_has_blkzoned(sbi)) {
					f2fs_warn(sbi, "adaptive mode is not allowed with zoned block device feature");
					kfree(name);
					return -EINVAL;
				}
				F2FS_OPTION(sbi).fs_mode = FS_MODE_ADAPTIVE;
			} else if (!strcmp(name, "lfs")) {
				F2FS_OPTION(sbi).fs_mode = FS_MODE_LFS;
@@ -1331,6 +1326,11 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount)
			F2FS_OPTION(sbi).discard_unit =
					DISCARD_UNIT_SECTION;
		}

		if (F2FS_OPTION(sbi).fs_mode != FS_MODE_LFS) {
			f2fs_info(sbi, "Only lfs mode is allowed with zoned block device feature");
			return -EINVAL;
		}
#else
		f2fs_err(sbi, "Zoned block device support is not enabled");
		return -EINVAL;