linux/fs/gfs2
Jan Kara a117782571 quota: Move quota syncing to ->sync_fs method
Since the moment writes to quota files are using block device page cache and
space for quota structures is reserved at the moment they are first accessed we
have no reason to sync quota before inode writeback. In fact this order is now
only harmful since quota information can easily change during inode writeback
(either because conversion of delayed-allocated extents or simply because of
allocation of new blocks for simple filesystems not using page_mkwrite).

So move syncing of quota information after writeback of inodes into ->sync_fs
method. This way we do not have to use ->quota_sync callback which is primarily
intended for use by quotactl syscall anyway and we get rid of calling
->sync_fs() twice unnecessarily. We skip quota syncing for OCFS2 since it does
proper quota journalling in all cases (unlike ext3, ext4, and reiserfs which
also support legacy non-journalled quotas) and thus there are no dirty quota
structures.

CC: "Theodore Ts'o" <tytso@mit.edu>
CC: Joel Becker <jlbec@evilplan.org>
CC: reiserfs-devel@vger.kernel.org
Acked-by: Steven Whitehouse <swhiteho@redhat.com>
Acked-by: Dave Kleikamp <shaggy@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-07-22 23:58:34 +04:00
..
Kconfig GFS2: use depends instead of select in kconfig 2012-03-26 09:18:02 +01:00
Makefile GFS2: Rename ops_inode.c to inode.c 2011-05-10 13:12:49 +01:00
acl.c GFS2: Fix sgid propagation when using ACLs 2012-05-04 14:33:06 +01:00
acl.h fs: take the ACL checks to common code 2011-07-25 14:30:23 -04:00
aops.c GFS2: eliminate log elements and simplify 2012-05-02 09:14:36 +01:00
bmap.c GFS2: Eliminate unused "new" parameter to gfs2_meta_indirect_buffer 2012-05-11 10:19:23 +01:00
bmap.h GFS2: New truncate sequence 2010-09-20 11:18:16 +01:00
dentry.c stop passing nameidata * to ->d_revalidate() 2012-07-14 16:34:14 +04:00
dir.c vfs: make it possible to access the dentry hash/len as one 64-bit entry 2012-05-10 19:54:35 -07:00
dir.h GFS2: Add readahead to sequential directory traversal 2011-11-08 09:52:12 +00:00
export.c ->encode_fh() API change 2012-05-29 23:28:33 -04:00
file.c GFS2: Rename function gfs2_close to gfs2_release 2012-04-24 16:44:27 +01:00
gfs2.h [GFS2] Remove remote lock dropping code 2008-06-27 09:39:44 +01:00
glock.c GFS2: glock statistics gathering 2012-02-28 17:09:42 +00:00
glock.h GFS2: dlm based recovery coordination 2012-01-11 09:23:05 +00:00
glops.c GFS2: Remove redundant metadata block type check 2012-05-08 16:18:55 +01:00
glops.h GFS2: Fix AIL flush issue during fsync 2011-10-21 12:39:41 +01:00
incore.h dlm for 3.5 2012-05-22 19:31:38 -07:00
inode.c don't pass nameidata to ->create() 2012-07-14 16:34:47 +04:00
inode.h GFS2: Remove unused argument from gfs2_internal_read 2012-04-24 16:44:37 +01:00
lock_dlm.c dlm: fixes for nodir mode 2012-05-02 14:15:27 -05:00
log.c GFS2: eliminate log elements and simplify 2012-05-02 09:14:36 +01:00
log.h GFS2: Clean up log write code path 2012-04-24 16:44:34 +01:00
lops.c GFS2: eliminate log elements and simplify 2012-05-02 09:14:36 +01:00
lops.h GFS2: eliminate log elements and simplify 2012-05-02 09:14:36 +01:00
main.c GFS2: Clean up log write code path 2012-04-24 16:44:34 +01:00
meta_io.c GFS2: Eliminate unused "new" parameter to gfs2_meta_indirect_buffer 2012-05-11 10:19:23 +01:00
meta_io.h GFS2: Eliminate unused "new" parameter to gfs2_meta_indirect_buffer 2012-05-11 10:19:23 +01:00
ops_fstype.c VFS: Pass mount flags to sget() 2012-07-14 16:38:34 +04:00
quota.c quota: Split dquot_quota_sync() to writeback and cache flushing part 2012-07-22 23:58:19 +04:00
quota.h quota: Split dquot_quota_sync() to writeback and cache flushing part 2012-07-22 23:58:19 +04:00
recovery.c GFS2: fail mount if journal recovery fails 2012-01-11 09:24:48 +00:00
recovery.h gfs2: use workqueue instead of slow-work 2010-07-23 13:14:25 +02:00
rgrp.c GFS2: Add rgrp information to block_alloc trace point 2012-05-11 10:31:34 +01:00
rgrp.h GFS2: FITRIM ioctl support 2012-02-28 17:10:21 +00:00
super.c quota: Move quota syncing to ->sync_fs method 2012-07-22 23:58:34 +04:00
super.h gfs: constify xattr_handler 2010-05-21 18:31:20 -04:00
sys.c quota: Split dquot_quota_sync() to writeback and cache flushing part 2012-07-22 23:58:19 +04:00
sys.h GFS2: dlm based recovery coordination 2012-01-11 09:23:05 +00:00
trace_gfs2.h GFS2: Add rgrp information to block_alloc trace point 2012-05-11 10:31:34 +01:00
trans.c GFS2: eliminate log elements and simplify 2012-05-02 09:14:36 +01:00
trans.h GFS2: decouple quota allocations from block allocations 2011-11-22 10:25:21 +00:00
util.c GFS2: Clean up log write code path 2012-04-24 16:44:34 +01:00
util.h GFS2: Clean up log write code path 2012-04-24 16:44:34 +01:00
xattr.c GFS2: Make sure rindex is uptodate before starting transactions 2012-04-05 10:20:10 +01:00
xattr.h sanitize xattr handler prototypes 2009-12-16 12:16:49 -05:00