Revision 38d78e587d4960d0db94add518d27ee74bad2301 authored by Vladimir Davydov on 22 March 2013, 22:04:51 UTC, committed by Linus Torvalds on 22 March 2013, 23:41:21 UTC
mnt_drop_write() must be called only if mnt_want_write() succeeded, otherwise the mnt_writers counter will diverge. mnt_writers counters are used to check if remounting FS as read-only is OK, so after an extra mnt_drop_write() call, it would be impossible to remount mqueue FS as read-only. Besides, on umount a warning would be printed like this one: ===================================== [ BUG: bad unlock balance detected! ] 3.9.0-rc3 #5 Not tainted ------------------------------------- a.out/12486 is trying to release lock (sb_writers) at: mnt_drop_write+0x1f/0x30 but there are no more locks to release! Signed-off-by: Vladimir Davydov <vdavydov@parallels.com> Cc: Doug Ledford <dledford@redhat.com> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent ca4b3f3
File | Mode | Size |
---|---|---|
Kconfig | -rw-r--r-- | 1.8 KB |
Makefile | -rw-r--r-- | 273 bytes |
acl.c | -rw-r--r-- | 9.5 KB |
acl.h | -rw-r--r-- | 1.2 KB |
checkpoint.c | -rw-r--r-- | 19.8 KB |
data.c | -rw-r--r-- | 17.1 KB |
debug.c | -rw-r--r-- | 11.3 KB |
dir.c | -rw-r--r-- | 16.4 KB |
f2fs.h | -rw-r--r-- | 33.1 KB |
file.c | -rw-r--r-- | 15.3 KB |
gc.c | -rw-r--r-- | 16.7 KB |
gc.h | -rw-r--r-- | 2.6 KB |
hash.c | -rw-r--r-- | 2.0 KB |
inode.c | -rw-r--r-- | 7.1 KB |
namei.c | -rw-r--r-- | 11.0 KB |
node.c | -rw-r--r-- | 40.8 KB |
node.h | -rw-r--r-- | 9.9 KB |
recovery.c | -rw-r--r-- | 9.0 KB |
segment.c | -rw-r--r-- | 46.3 KB |
segment.h | -rw-r--r-- | 18.5 KB |
super.c | -rw-r--r-- | 17.9 KB |
xattr.c | -rw-r--r-- | 10.6 KB |
xattr.h | -rw-r--r-- | 4.3 KB |
Computing file changes ...