projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
e5bc49b
)
vfs: add missing unlock in sget()
author
Li Zefan
<
[email protected]
>
Thu, 12 Mar 2009 21:31:29 +0000
(14:31 -0700)
committer
Linus Torvalds
<
[email protected]
>
Thu, 12 Mar 2009 23:20:23 +0000
(16:20 -0700)
In sget(), destroy_super(s) is called with s->s_umount held, which makes
lockdep unhappy.
Signed-off-by: Li Zefan <
[email protected]
>
Cc: Al Viro <
[email protected]
>
Acked-by: Peter Zijlstra <
[email protected]
>
Cc: Paul Menage <
[email protected]
>
Signed-off-by: Andrew Morton <
[email protected]
>
Signed-off-by: Linus Torvalds <
[email protected]
>
fs/super.c
patch
|
blob
|
history
diff --git
a/fs/super.c
b/fs/super.c
index 8349ed6b1412aa13e9f23d17fad91e66c9ec1915..6ce501447ada090cac2f5d8ec575030070356831 100644
(file)
--- a/
fs/super.c
+++ b/
fs/super.c
@@
-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);
}