]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - fs/super.c
vfs: add missing unlock in sget()
[net-next-2.6.git] / fs / super.c
index 8349ed6b1412aa13e9f23d17fad91e66c9ec1915..6ce501447ada090cac2f5d8ec575030070356831 100644 (file)
@@ -371,8 +371,10 @@ retry:
                                continue;
                        if (!grab_super(old))
                                goto retry;
-                       if (s)
+                       if (s) {
+                               up_write(&s->s_umount);
                                destroy_super(s);
+                       }
                        return old;
                }
        }
@@ -387,6 +389,7 @@ retry:
        err = set(s, data);
        if (err) {
                spin_unlock(&sb_lock);
+               up_write(&s->s_umount);
                destroy_super(s);
                return ERR_PTR(err);
        }