[01/17] vfs: Handle fs_param_neg_with_empty
diff mbox series

Message ID 20191106101457.11237-2-lczerner@redhat.com
State New
Headers show
Series
  • [01/17] vfs: Handle fs_param_neg_with_empty
Related show

Commit Message

Lukas Czerner Nov. 6, 2019, 10:14 a.m. UTC
From: David Howells <dhowells@redhat.com>

Make fs_param_neg_with_empty work.  It says that a parameter with no value
or and empty value should be marked as negated.

This is intended for use with ext4, which hadn't yet been converted.

Fixes: 31d921c7fb96 ("vfs: Add configuration parser helpers")
Reported-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>
---
 fs/fs_parser.c | 5 +++++
 1 file changed, 5 insertions(+)

Patch
diff mbox series

diff --git a/fs/fs_parser.c b/fs/fs_parser.c
index d1930adce68d..f95997a76738 100644
--- a/fs/fs_parser.c
+++ b/fs/fs_parser.c
@@ -129,6 +129,11 @@  int fs_parse(struct fs_context *fc,
 	case fs_param_is_string:
 		if (param->type != fs_value_is_string)
 			goto bad_value;
+		if ((p->flags & fs_param_neg_with_empty) &&
+		    (!result->has_value || !param->string[0])) {
+			result->negated = true;
+			goto okay;
+		}
 		if (!result->has_value) {
 			if (p->flags & fs_param_v_optional)
 				goto okay;