diff options
author | Jan Kara <jack@suse.cz> | 2009-04-27 16:43:55 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2009-06-11 21:36:04 -0400 |
commit | c3f8a40c1cd5591b882497d1d00d43d0e5bb4698 (patch) | |
tree | 8280d4c7748be5d3b2b96c6bd11a643280d0b232 /fs/sync.c | |
parent | 850b201b087f5525a0a7278551c2bcd0423c3b26 (diff) | |
download | linux-stable-c3f8a40c1cd5591b882497d1d00d43d0e5bb4698.tar.gz linux-stable-c3f8a40c1cd5591b882497d1d00d43d0e5bb4698.tar.bz2 linux-stable-c3f8a40c1cd5591b882497d1d00d43d0e5bb4698.zip |
quota: Introduce writeout_quota_sb() (version 4)
Introduce this function which just writes all the quota structures but
avoids all the syncing and cache pruning work to expose quota structures
to userspace. Use this function from __sync_filesystem when wait == 0.
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/sync.c')
-rw-r--r-- | fs/sync.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/sync.c b/fs/sync.c index d90ab7764555..4487b5560dc8 100644 --- a/fs/sync.c +++ b/fs/sync.c @@ -27,7 +27,11 @@ */ static int __sync_filesystem(struct super_block *sb, int wait) { - sync_quota_sb(sb, -1); + /* Avoid doing twice syncing and cache pruning for quota sync */ + if (!wait) + writeout_quota_sb(sb, -1); + else + sync_quota_sb(sb, -1); sync_inodes_sb(sb, wait); lock_super(sb); if (sb->s_dirt && sb->s_op->write_super) |