summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2014-09-29 15:10:26 +0200
committerJan Kara <jack@suse.cz>2014-11-10 10:06:18 +0100
commit75cbe701a4251fcd8b846d52ae42f88c9a8e5e93 (patch)
tree9245cff4fe35d6b2880a559f936006ecfcf445e1
parent507e1fa697097b4885008f16354822f8d0c33a5d (diff)
downloadlinux-75cbe701a4251fcd8b846d52ae42f88c9a8e5e93.tar.gz
linux-75cbe701a4251fcd8b846d52ae42f88c9a8e5e93.tar.bz2
linux-75cbe701a4251fcd8b846d52ae42f88c9a8e5e93.zip
vfs: Remove i_dquot field from inode
All filesystems using VFS quotas are now converted to use their private i_dquot fields. Remove the i_dquot field from generic inode structure. Acked-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jan Kara <jack@suse.cz>
-rw-r--r--fs/inode.c3
-rw-r--r--fs/quota/dquot.c3
-rw-r--r--fs/super.c6
-rw-r--r--include/linux/fs.h3
4 files changed, 0 insertions, 15 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 b80d1fe56f83..8f0acef3d184 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 4512281df8ff..eae088f6aaae 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -218,12 +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_quota_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 8c093ad49522..6eb5337688bd 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -606,9 +606,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;