[Ocfs2-devel] [PATCH 10/29] quota: Introduce DQUOT_QUOTA_SYS_FILE flag
Mark Fasheh
mfasheh at suse.com
Wed Oct 29 16:09:34 PDT 2008
On Sat, Oct 25, 2008 at 12:08:03AM +0200, Jan Kara wrote:
> If filesystem can handle quota files as system files hidden from users, we can
> skip a lot of cache invalidation, syncing, inode flags setting etc. when
> turning quotas on, off and quota_sync. Allow filesystem to indicate that it is
> hiding quota files from users by DQUOT_QUOTA_SYS_FILE flag.
>
> Signed-off-by: Jan Kara <jack at suse.cz>
> ---
> fs/dquot.c | 45 ++++++++++++++++++++++++++++++---------------
> fs/quota.c | 3 +++
> include/linux/quota.h | 7 +++++++
> 3 files changed, 40 insertions(+), 15 deletions(-)
>
> diff --git a/fs/dquot.c b/fs/dquot.c
> index 96ed45b..5b82722 100644
> --- a/fs/dquot.c
> +++ b/fs/dquot.c
> @@ -1627,6 +1627,11 @@ int vfs_quota_disable(struct super_block *sb, int type, unsigned int flags)
> dqopt->ops[cnt] = NULL;
> }
> mutex_unlock(&dqopt->dqonoff_mutex);
> +
> + /* Skip syncing and setting flags if quota files are hidden */
> + if (dqopt->flags & DQUOT_QUOTA_SYS_FILE)
> + goto put_inodes;
> +
> /* Sync the superblock so that buffers with quota data are written to
> * disk (and so userspace sees correct data afterwards). */
> if (sb->s_op->sync_fs)
> @@ -1651,6 +1656,12 @@ int vfs_quota_disable(struct super_block *sb, int type, unsigned int flags)
> mark_inode_dirty(toputinode[cnt]);
> }
> mutex_unlock(&dqopt->dqonoff_mutex);
> + }
> + if (sb->s_bdev)
> + invalidate_bdev(sb->s_bdev);
Is the indentation here weird, or am I just reading this wrong?
Otherwise btw, this patch is a fantastic idea. I hadn't thought of it
before, but this should save Ocfs2 a good amount of pain.
--Mark
--
Mark Fasheh
More information about the Ocfs2-devel
mailing list