fs_is_visible only needs namespace_sem held shared
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 17 Sep 2013 01:37:36 +0000 (21:37 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 25 Oct 2013 03:34:55 +0000 (23:34 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/namespace.c

index 827aea4c32424353dc4206495e5662e767c8de17..0e54ad6ccd8a0aa85f09214a9751f3a8e336f2b2 100644 (file)
@@ -2869,7 +2869,7 @@ bool fs_fully_visible(struct file_system_type *type)
        if (unlikely(!ns))
                return false;
 
-       namespace_lock();
+       down_read(&namespace_sem);
        list_for_each_entry(mnt, &ns->list, mnt_list) {
                struct mount *child;
                if (mnt->mnt.mnt_sb->s_type != type)
@@ -2890,7 +2890,7 @@ bool fs_fully_visible(struct file_system_type *type)
        next:   ;
        }
 found:
-       namespace_unlock();
+       up_read(&namespace_sem);
        return visible;
 }