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 |
---|---|---|
ChangeLog | -rw-r--r-- | 14.0 KB |
Kconfig | -rw-r--r-- | 917 bytes |
Makefile | -rw-r--r-- | 164 bytes |
TODO | -rw-r--r-- | 385 bytes |
befs.h | -rw-r--r-- | 3.2 KB |
befs_fs_types.h | -rw-r--r-- | 4.9 KB |
btree.c | -rw-r--r-- | 21.9 KB |
btree.h | -rw-r--r-- | 300 bytes |
datastream.c | -rw-r--r-- | 15.5 KB |
datastream.h | -rw-r--r-- | 514 bytes |
debug.c | -rw-r--r-- | 7.6 KB |
endian.h | -rw-r--r-- | 3.1 KB |
inode.c | -rw-r--r-- | 1.1 KB |
inode.h | -rw-r--r-- | 123 bytes |
io.c | -rw-r--r-- | 1.8 KB |
io.h | -rw-r--r-- | 190 bytes |
linuxvfs.c | -rw-r--r-- | 24.6 KB |
super.c | -rw-r--r-- | 3.0 KB |
super.h | -rw-r--r-- | 134 bytes |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...