linux/fs/udf
Christoph Hellwig 907f4554e2 dquot: move dquot initialization responsibility into the filesystem
Currently various places in the VFS call vfs_dq_init directly.  This means
we tie the quota code into the VFS.  Get rid of that and make the
filesystem responsible for the initialization.   For most metadata operations
this is a straight forward move into the methods, but for truncate and
open it's a bit more complicated.

For truncate we currently only call vfs_dq_init for the sys_truncate case
because open already takes care of it for ftruncate and open(O_TRUNC) - the
new code causes an additional vfs_dq_init for those which is harmless.

For open the initialization is moved from do_filp_open into the open method,
which means it happens slightly earlier now, and only for regular files.
The latter is fine because we don't need to initialize it for operations
on special files, and we already do it as part of the namespace operations
for directories.

Add a dquot_file_open helper that filesystems that support generic quotas
can use to fill in ->open.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jan Kara <jack@suse.cz>
2010-03-05 00:20:30 +01:00
..
balloc.c dquot: cleanup space allocation / freeing routines 2010-03-05 00:20:28 +01:00
dir.c switch udf to simple_fsync() 2009-06-11 21:36:13 -04:00
directory.c udf: Remove dead code 2009-09-14 19:13:00 +02:00
ecma_167.h Remove struct typedefs from fs/udf/ecma_167.h et al. 2009-04-02 12:29:47 +02:00
file.c dquot: move dquot initialization responsibility into the filesystem 2010-03-05 00:20:30 +01:00
ialloc.c dquot: cleanup dquot drop routine 2010-03-05 00:20:30 +01:00
inode.c dquot: move dquot initialization responsibility into the filesystem 2010-03-05 00:20:30 +01:00
Kconfig fs/Kconfig: move iso9660, udf out 2009-01-22 13:15:55 +03:00
lowlevel.c udf: Remove dead code 2009-09-14 19:13:00 +02:00
Makefile switch udf to simple_fsync() 2009-06-11 21:36:13 -04:00
misc.c Fix the udf code not to pass structs on stack where possible. 2009-04-02 12:29:47 +02:00
namei.c dquot: move dquot initialization responsibility into the filesystem 2010-03-05 00:20:30 +01:00
osta_udf.h Remove struct typedefs from fs/udf/ecma_167.h et al. 2009-04-02 12:29:47 +02:00
partition.c Remove struct typedefs from fs/udf/ecma_167.h et al. 2009-04-02 12:29:47 +02:00
super.c udf: Try harder when looking for VAT inode 2009-12-14 21:40:04 +01:00
symlink.c udf: move headers out include/linux/ 2008-04-17 14:22:23 +02:00
truncate.c Fix the udf code not to pass structs on stack where possible. 2009-04-02 12:29:47 +02:00
udf_i.h Remove struct typedefs from fs/udf/ecma_167.h et al. 2009-04-02 12:29:47 +02:00
udf_sb.h udf: Don't write integrity descriptor too often 2009-04-02 13:36:28 +02:00
udfdecl.h switch udf to simple_fsync() 2009-06-11 21:36:13 -04:00
udfend.h Remove struct typedefs from fs/udf/ecma_167.h et al. 2009-04-02 12:29:47 +02:00
udftime.c Remove struct typedefs from fs/udf/ecma_167.h et al. 2009-04-02 12:29:47 +02:00
unicode.c udf: Fix oops when invalid character in filename occurs 2009-04-02 12:29:53 +02:00