summaryrefslogtreecommitdiffstats
path: root/fs/fat
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2012-06-12 16:20:30 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2012-07-31 01:02:49 +0400
commitc30dabfe5d10c5fd70d882e5afb8f59f2942b194 (patch)
tree2a643a825fb91a1ae48c5673a9f5fcba891b6122 /fs/fat
parent4fcf1c6205fcfc7a226a144ae4d83b7f5415cab8 (diff)
downloadlinux-c30dabfe5d10c5fd70d882e5afb8f59f2942b194.tar.gz
linux-c30dabfe5d10c5fd70d882e5afb8f59f2942b194.tar.bz2
linux-c30dabfe5d10c5fd70d882e5afb8f59f2942b194.zip
fs: Push mnt_want_write() outside of i_mutex
Currently, mnt_want_write() is sometimes called with i_mutex held and sometimes without it. This isn't really a problem because mnt_want_write() is a non-blocking operation (essentially has a trylock semantics) but when the function starts to handle also frozen filesystems, it will get a full lock semantics and thus proper lock ordering has to be established. So move all mnt_want_write() calls outside of i_mutex. One non-trivial case needing conversion is kern_path_create() / user_path_create() which didn't include mnt_want_write() but now needs to because it acquires i_mutex. Because there are virtual file systems which don't bother with freeze / remount-ro protection we actually provide both versions of the function - one which calls mnt_want_write() and one which does not. [AV: scratch the previous, mnt_want_write() has been moved to kern_path_create() by now] Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/fat')
0 files changed, 0 insertions, 0 deletions