• Al Viro's avatar
    Pass consistent param->type to fs_parse() · 0f89589a
    Al Viro authored
    As it is, vfs_parse_fs_string() makes "foo" and "foo=" indistinguishable;
    both get fs_value_is_string for ->type and NULL for ->string.  To make
    it even more unpleasant, that combination is impossible to produce with
    fsconfig().
    
    Much saner rules would be
            "foo"           => fs_value_is_flag, NULL
    	"foo="          => fs_value_is_string, ""
    	"foo=bar"       => fs_value_is_string, "bar"
    All cases are distinguishable, all results are expressable by fsconfig(),
    ->has_value checks are much simpler that way (to the point of the field
    being useless) and quite a few regressions go away (gfs2 has no business
    accepting -o nodebug=, for example).
    
    Partially based upon patches from Miklos.
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    0f89589a
fs_parser.c 11 KB