]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
fs: indicate request originates from old mount API
authorChristian Brauner <brauner@kernel.org>
Wed, 22 Nov 2023 17:17:37 +0000 (12:17 -0500)
committerDavid Sterba <dsterba@suse.com>
Fri, 15 Dec 2023 19:27:03 +0000 (20:27 +0100)
We already communicate to filesystems when a remount request comes from
the old mount API as some filesystems choose to implement different
behavior in the new mount API than the old mount API to e.g., take the
chance to fix significant API bugs. Allow the same for regular mount
requests.

Fixes: b330966f79fb ("fuse: reject options on reconfigure via fsconfig(2)")
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/namespace.c

index fbf0e596fcd30c9bae8d8cc1fbe09cf309f02334..6c39ec020a5f4cd0c5e74e2528d0323abc67e78b 100644 (file)
@@ -2875,7 +2875,12 @@ static int do_remount(struct path *path, int ms_flags, int sb_flags,
        if (IS_ERR(fc))
                return PTR_ERR(fc);
 
+       /*
+        * Indicate to the filesystem that the remount request is coming
+        * from the legacy mount system call.
+        */
        fc->oldapi = true;
+
        err = parse_monolithic_mount_data(fc, data);
        if (!err) {
                down_write(&sb->s_umount);
@@ -3324,6 +3329,12 @@ static int do_new_mount(struct path *path, const char *fstype, int sb_flags,
        if (IS_ERR(fc))
                return PTR_ERR(fc);
 
+       /*
+        * Indicate to the filesystem that the mount request is coming
+        * from the legacy mount system call.
+        */
+       fc->oldapi = true;
+
        if (subtype)
                err = vfs_parse_fs_string(fc, "subtype",
                                          subtype, strlen(subtype));