android_kernel_xiaomi_sm8350/fs/ocfs2
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
..
cluster ocfs2/cluster: Make o2net connect messages KERN_NOTICE 2010-02-08 13:02:28 -08:00
dlm ocfs2/dlm: Fix printing of lockname 2010-02-08 13:01:31 -08:00
acl.c Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 2009-12-24 12:59:11 -08:00
acl.h ocfs2: Always include ACL support 2009-10-28 23:05:57 -07:00
alloc.c dquot: cleanup space allocation / freeing routines 2010-03-05 00:20:28 +01:00
alloc.h ocfs2: Find proper end cpos for a leaf refcount block. 2009-12-02 16:14:57 -08:00
aops.c dquot: cleanup space allocation / freeing routines 2010-03-05 00:20:28 +01:00
aops.h
blockcheck.c tree-wide: fix typos "offest" -> "offset" 2009-12-04 15:39:50 +01:00
blockcheck.h
buffer_head_io.c ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
buffer_head_io.h
dcache.c
dcache.h
dir.c dquot: cleanup space allocation / freeing routines 2010-03-05 00:20:28 +01:00
dir.h
dlmglue.c ocfs2: Plugs race between the dc thread and an unlock ast message 2010-02-03 17:26:03 -08:00
dlmglue.h
export.c ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
export.h
extent_map.c ocfs2: Fix contiguousness check in ocfs2_try_to_merge_extent_map() 2010-02-05 15:06:21 -08:00
extent_map.h
file.c dquot: move dquot initialization responsibility into the filesystem 2010-03-05 00:20:30 +01:00
file.h
heartbeat.c
heartbeat.h
inode.c dquot: move dquot initialization responsibility into the filesystem 2010-03-05 00:20:30 +01:00
inode.h
ioctl.c ocfs2: Use compat_ptr in reflink_arguments. 2010-02-02 18:56:37 -08:00
ioctl.h
journal.c ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
journal.h
Kconfig ocfs2: Always include ACL support 2009-10-28 23:05:57 -07:00
localalloc.c
localalloc.h
locks.c
locks.h
Makefile ocfs2: Always include ACL support 2009-10-28 23:05:57 -07:00
mmap.c
mmap.h
namei.c dquot: move dquot initialization responsibility into the filesystem 2010-03-05 00:20:30 +01:00
namei.h
ocfs1_fs_compat.h
ocfs2_fs.h ocfs2: Sync max_inline_data_with_xattr from tools. 2010-01-25 19:20:45 -08:00
ocfs2_lockid.h
ocfs2_lockingver.h
ocfs2.h ocfs2: Prevent a livelock in dlmglue 2010-02-02 23:51:13 -08:00
quota_global.c dquot: cleanup dquot drop routine 2010-03-05 00:20:30 +01:00
quota_local.c const: struct quota_format_ops 2009-12-10 15:02:51 +01:00
quota.h quota: Move definition of QFMT_OCFS2 to linux/quota.h 2009-12-10 15:02:53 +01:00
refcounttree.c ocfs2: Only bug out when page size is larger than cluster size. 2010-02-02 18:15:35 -08:00
refcounttree.h
resize.c
resize.h
slot_map.c
slot_map.h
stack_o2cb.c ocfs2: fix a misleading variable name 2010-01-25 19:20:48 -08:00
stack_user.c ocfs2: explicit declare uninitialized var in user_cluster_connect() 2009-12-17 20:55:52 -08:00
stackglue.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
stackglue.h
suballoc.c
suballoc.h
super.c ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
super.h
symlink.c ocfs2: Fix refcnt leak on ocfs2_fast_follow_link() error path 2010-01-11 15:38:50 -08:00
symlink.h
sysfile.c
sysfile.h
uptodate.c ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
uptodate.h
ver.c
ver.h
xattr.c Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 2009-12-24 12:59:11 -08:00
xattr.h ocfs2: Always include ACL support 2009-10-28 23:05:57 -07:00