kernel-ark/fs/ext3
Jan Kara f00c9e44ad quota: Fix deadlock during path resolution
As Al Viro pointed out path resolution during Q_QUOTAON calls to quotactl
is prone to deadlocks. We hold s_umount semaphore for reading during the
path resolution and resolution itself may need to acquire the semaphore
for writing when e. g. autofs mountpoint is passed.

Solve the problem by performing the resolution before we get hold of the
superblock (and thus s_umount semaphore). The whole thing is complicated
by the fact that some filesystems (OCFS2) ignore the path argument. So to
distinguish between filesystem which want the path and which do not we
introduce new .quota_on_meta callback which does not get the path. OCFS2
then uses this callback instead of old .quota_on.

CC: Al Viro <viro@ZenIV.linux.org.uk>
CC: Christoph Hellwig <hch@lst.de>
CC: Ted Ts'o <tytso@mit.edu>
CC: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Jan Kara <jack@suse.cz>
2011-01-12 19:14:55 +01:00
..
acl.c ext2,3,4: provide simple rcu-walk ACL implementation 2011-01-07 17:50:30 +11:00
acl.h fs: provide rcu-walk aware permission i_ops 2011-01-07 17:50:29 +11:00
balloc.c ext3: Add batched discard support for ext3 2011-01-10 19:03:58 +01:00
bitmap.c
dir.c ext3: speed up file creates by optimizing rec_len functions 2011-01-10 19:04:07 +01:00
ext3_jbd.c
file.c dquot: cleanup dquot initialize routine 2010-03-05 00:20:30 +01:00
fsync.c block: remove BLKDEV_IFL_WAIT 2010-09-16 20:52:58 +02:00
hash.c
ialloc.c ext3: Fix lost extented attributes for inode with ino == 11 2010-10-05 12:20:23 +02:00
inode.c ext3: Add more journal error check 2011-01-10 19:04:06 +01:00
ioctl.c ext3: Add FITRIM handling 2011-01-10 19:04:05 +01:00
Kconfig ext3: default to ordered mode 2010-07-23 12:50:55 +02:00
Makefile
namei.c ext3: Remove redundant unlikely() 2011-01-10 19:04:07 +01:00
namei.h
resize.c ext3: Add journal error check in resize.c 2011-01-10 19:04:06 +01:00
super.c quota: Fix deadlock during path resolution 2011-01-12 19:14:55 +01:00
symlink.c ext3: symlink must be handled via filesystem specific operation 2010-04-12 21:11:39 +02:00
xattr_security.c ext3: constify xattr handlers 2010-05-21 18:31:19 -04:00
xattr_trusted.c ext3: constify xattr handlers 2010-05-21 18:31:19 -04:00
xattr_user.c ext3: constify xattr handlers 2010-05-21 18:31:19 -04:00
xattr.c ext2,ext3,ext4: clarify comment for extN_xattr_set_handle 2011-01-10 12:10:30 -05:00
xattr.h ext3: constify xattr handlers 2010-05-21 18:31:19 -04:00