xfs
[Top] [All Lists]

[PATCH 12/12] vfs: Remove i_dquot field from inode

To: linux-fsdevel@xxxxxxxxxxxxxxx
Subject: [PATCH 12/12] vfs: Remove i_dquot field from inode
From: Jan Kara <jack@xxxxxxx>
Date: Tue, 21 Oct 2014 16:38:36 +0200
Cc: linux-ext4@xxxxxxxxxxxxxxx, Dave Chinner <david@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx, cluster-devel@xxxxxxxxxx, Steven Whitehouse <swhiteho@xxxxxxxxxx>, Mark Fasheh <mfasheh@xxxxxxxx>, Joel Becker <jlbec@xxxxxxxxxxxx>, ocfs2-devel@xxxxxxxxxxxxxx, reiserfs-devel@xxxxxxxxxxxxxxx, Jeff Mahoney <jeffm@xxxxxxx>, Dave Kleikamp <shaggy@xxxxxxxxxx>, jfs-discussion@xxxxxxxxxxxxxxxxxxxxx, tytso@xxxxxxx, viro@xxxxxxxxxxxxxxxxxx, hch@xxxxxx, Jan Kara <jack@xxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1413902316-17997-1-git-send-email-jack@xxxxxxx>
References: <1413902316-17997-1-git-send-email-jack@xxxxxxx>
All filesystems using VFS quotas are now converted to use their private
i_dquot fields. Remove the i_dquot field from generic inode structure.

Signed-off-by: Jan Kara <jack@xxxxxxx>
---
 fs/inode.c         | 3 ---
 fs/quota/dquot.c   | 3 ---
 fs/super.c         | 7 -------
 include/linux/fs.h | 3 ---
 4 files changed, 16 deletions(-)

diff --git a/fs/inode.c b/fs/inode.c
index 26753ba7b6d6..2ed95f7caa4f 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -143,9 +143,6 @@ int inode_init_always(struct super_block *sb, struct inode 
*inode)
        inode->i_blocks = 0;
        inode->i_bytes = 0;
        inode->i_generation = 0;
-#ifdef CONFIG_QUOTA
-       memset(&inode->i_dquot, 0, sizeof(inode->i_dquot));
-#endif
        inode->i_pipe = NULL;
        inode->i_bdev = NULL;
        inode->i_cdev = NULL;
diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c
index 8144ff2b561d..5bc5f254ac1f 100644
--- a/fs/quota/dquot.c
+++ b/fs/quota/dquot.c
@@ -895,9 +895,6 @@ EXPORT_SYMBOL(dqget);
 
 static inline struct dquot **i_dquot(struct inode *inode)
 {
-       /* Temporary workaround until all filesystems are converted. */
-       if (!inode->i_sb->s_op->get_dquots)
-               return inode->i_dquot;
        return inode->i_sb->s_op->get_dquots(inode);
 }
 
diff --git a/fs/super.c b/fs/super.c
index 5e70cc327dae..eae088f6aaae 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -218,13 +218,6 @@ static struct super_block *alloc_super(struct 
file_system_type *type, int flags)
        atomic_set(&s->s_active, 1);
        mutex_init(&s->s_vfs_rename_mutex);
        lockdep_set_class(&s->s_vfs_rename_mutex, &type->s_vfs_rename_key);
-       /*
-        * For now MAXQUOTAS check in do_quotactl() will limit quota type
-        * appropriately. When each fs sets allowed_types, we can remove the
-        * line below
-        */
-       s->s_dquot.allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP |
-                                  QTYPE_MASK_PRJ;
        mutex_init(&s->s_dquot.dqio_mutex);
        mutex_init(&s->s_dquot.dqonoff_mutex);
        s->s_maxbytes = MAX_NON_LFS;
diff --git a/include/linux/fs.h b/include/linux/fs.h
index b714e8e0415d..ab3513abf30f 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -593,9 +593,6 @@ struct inode {
        const struct file_operations    *i_fop; /* former 
->i_op->default_file_ops */
        struct file_lock        *i_flock;
        struct address_space    i_data;
-#ifdef CONFIG_QUOTA
-       struct dquot            *i_dquot[MAXQUOTAS];
-#endif
        struct list_head        i_devices;
        union {
                struct pipe_inode_info  *i_pipe;
-- 
1.8.1.4

<Prev in Thread] Current Thread [Next in Thread>