fs: don't open-code mnt_hold_writers()
authorChristian Brauner <brauner@kernel.org>
Thu, 3 Feb 2022 13:14:10 +0000 (14:14 +0100)
committerChristian Brauner <brauner@kernel.org>
Mon, 14 Feb 2022 07:37:40 +0000 (08:37 +0100)
Remove sb_prepare_remount_readonly()'s open-coded mnt_hold_writers()
implementation with the real helper we introduced in commit fbdc2f6c40f6
("fs: split out functions to hold writers").

Link: https://lore.kernel.org/r/20220203131411.3093040-7-brauner@kernel.org
Cc: Seth Forshee <seth.forshee@digitalocean.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: linux-fsdevel@vger.kernel.org
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/namespace.c

index ddae5c0..00762f9 100644 (file)
@@ -563,12 +563,9 @@ int sb_prepare_remount_readonly(struct super_block *sb)
        lock_mount_hash();
        list_for_each_entry(mnt, &sb->s_mounts, mnt_instance) {
                if (!(mnt->mnt.mnt_flags & MNT_READONLY)) {
-                       mnt->mnt.mnt_flags |= MNT_WRITE_HOLD;
-                       smp_mb();
-                       if (mnt_get_writers(mnt) > 0) {
-                               err = -EBUSY;
+                       err = mnt_hold_writers(mnt);
+                       if (err)
                                break;
-                       }
                }
        }
        if (!err && atomic_long_read(&sb->s_remove_count))