diff options
Diffstat (limited to 'fs/ext2/super.c')
| -rw-r--r-- | fs/ext2/super.c | 10 | 
1 files changed, 10 insertions, 0 deletions
diff --git a/fs/ext2/super.c b/fs/ext2/super.c index 170dc41e8bf4..ae55fddc26a9 100644 --- a/fs/ext2/super.c +++ b/fs/ext2/super.c @@ -166,6 +166,10 @@ static struct inode *ext2_alloc_inode(struct super_block *sb)  		return NULL;  	ei->i_block_alloc_info = NULL;  	ei->vfs_inode.i_version = 1; +#ifdef CONFIG_QUOTA +	memset(&ei->i_dquot, 0, sizeof(ei->i_dquot)); +#endif +  	return &ei->vfs_inode;  } @@ -303,6 +307,10 @@ static int ext2_show_options(struct seq_file *seq, struct dentry *root)  #ifdef CONFIG_QUOTA  static ssize_t ext2_quota_read(struct super_block *sb, int type, char *data, size_t len, loff_t off);  static ssize_t ext2_quota_write(struct super_block *sb, int type, const char *data, size_t len, loff_t off); +static struct dquot **ext2_get_dquots(struct inode *inode) +{ +	return EXT2_I(inode)->i_dquot; +}  #endif  static const struct super_operations ext2_sops = { @@ -320,6 +328,7 @@ static const struct super_operations ext2_sops = {  #ifdef CONFIG_QUOTA  	.quota_read	= ext2_quota_read,  	.quota_write	= ext2_quota_write, +	.get_dquots	= ext2_get_dquots,  #endif  }; @@ -1090,6 +1099,7 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent)  #ifdef CONFIG_QUOTA  	sb->dq_op = &dquot_operations;  	sb->s_qcop = &dquot_quotactl_ops; +	sb->s_quota_types = QTYPE_MASK_USR | QTYPE_MASK_GRP;  #endif  	root = ext2_iget(sb, EXT2_ROOT_INO);  | 
