From: Jan Kara <j...@suse.cz> CC: linux-e...@vger.kernel.org Acked-by: "Theodore Ts'o" <ty...@mit.edu> Acked-by: Christoph Hellwig <h...@lst.de> Signed-off-by: Jan Kara <j...@suse.cz> Signed-off-by: Stanislav Kinsburskiy <skinsbur...@virtuozzo.com> --- fs/ext4/ext4.h | 4 ++++ fs/ext4/super.c | 8 ++++++++ 2 files changed, 12 insertions(+)
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 269a184..9bbcb37 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -960,6 +960,10 @@ struct ext4_inode_info { tid_t i_sync_tid; tid_t i_datasync_tid; +#ifdef CONFIG_QUOTA + struct dquot *i_dquot[MAXQUOTAS]; +#endif + /* Precomputed uuid+inum+igen checksum for seeding inode checksums */ __u32 i_csum_seed; diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 0e92e9e..03ae528 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -897,6 +897,7 @@ static struct inode *ext4_alloc_inode(struct super_block *sb) spin_lock_init(&(ei->i_block_reservation_lock)); #ifdef CONFIG_QUOTA ei->i_reserved_quota = 0; + memset(&ei->i_dquot, 0, sizeof(ei->i_dquot)); #endif ei->jinode = NULL; INIT_LIST_HEAD(&ei->i_rsv_conversion_list); @@ -1079,6 +1080,11 @@ static int ext4_quota_enable(struct super_block *sb, int type, int format_id, unsigned int flags); static int ext4_enable_quotas(struct super_block *sb); +static struct dquot **ext4_get_dquots(struct inode *inode) +{ + return EXT4_I(inode)->i_dquot; +} + static const struct dquot_operations ext4_quota_operations = { .get_reserved_space = ext4_get_reserved_space, .write_dquot = ext4_write_dquot, @@ -1128,6 +1134,7 @@ static const struct super_operations ext4_sops = { #ifdef CONFIG_QUOTA .quota_read = ext4_quota_read, .quota_write = ext4_quota_write, + .get_dquots = ext4_get_dquots, #endif .bdev_try_to_free_page = bdev_try_to_free_page, }; @@ -4123,6 +4130,7 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent) sb->s_qcop = &ext4_qctl_sysfile_operations; else sb->s_qcop = &ext4_qctl_operations; + sb->s_quota_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; #endif memcpy(sb->s_uuid, es->s_uuid, sizeof(es->s_uuid)); _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel