summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/super.c
diff options
context:
space:
mode:
authorDamien Le Moal <damien.lemoal@wdc.com>2016-10-28 17:45:03 +0900
committerJaegeuk Kim <jaegeuk@kernel.org>2016-11-23 12:11:19 -0800
commit96ba2decb4241aa2c6b61cfc8489d648769eff99 (patch)
treedf8121723e1b4442daa2798d4b6b3dcdb1211270 /fs/f2fs/super.c
parent0ab0299835738cd407569401da1fef4c97b4419c (diff)
downloadop-kernel-dev-96ba2decb4241aa2c6b61cfc8489d648769eff99.zip
op-kernel-dev-96ba2decb4241aa2c6b61cfc8489d648769eff99.tar.gz
f2fs: Always enable discard for zoned blocks devices
Zone write pointer reset acts as discard for zoned block devices. So if the zoned block device feature is enabled, always declare that discard is enabled, even if the device does not actually support the command. For the same reason, prevent the use the "nodicard" mount option. Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/super.c')
-rw-r--r--fs/f2fs/super.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 56b0d2a..7bb0b36 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -419,6 +419,11 @@ static int parse_options(struct super_block *sb, char *options)
}
break;
case Opt_nodiscard:
+ if (f2fs_sb_mounted_blkzoned(sb)) {
+ f2fs_msg(sb, KERN_WARNING,
+ "discard is required for zoned block devices");
+ return -EINVAL;
+ }
clear_opt(sbi, DISCARD);
break;
case Opt_noheap:
OpenPOWER on IntegriCloud