ocfs2: Convert to private i_dquot field
authorJan Kara <jack@suse.cz>
Mon, 29 Sep 2014 13:02:51 +0000 (15:02 +0200)
committerJan Kara <jack@suse.cz>
Mon, 10 Nov 2014 09:06:11 +0000 (10:06 +0100)
CC: Mark Fasheh <mfasheh@suse.com>
CC: Joel Becker <jlbec@evilplan.org>
CC: ocfs2-devel@oss.oracle.com
Acked-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jan Kara <jack@suse.cz>
fs/ocfs2/inode.h
fs/ocfs2/super.c

index a9b76de46047d02f754aa8d9fbdcd96ff74b853c..ca3431ee7f2493fb999cdb6ced2908bdb87fbe17 100644 (file)
@@ -80,6 +80,8 @@ struct ocfs2_inode_info
         */
        tid_t i_sync_tid;
        tid_t i_datasync_tid;
+
+       struct dquot *i_dquot[MAXQUOTAS];
 };
 
 /*
index 93c85bc745e199983550b2e181b757e151cec8d5..0945814ddb7bc6b118e2e75e3480ca5d68de2d58 100644 (file)
@@ -143,6 +143,11 @@ static int ocfs2_susp_quotas(struct ocfs2_super *osb, int unsuspend);
 static int ocfs2_enable_quotas(struct ocfs2_super *osb);
 static void ocfs2_disable_quotas(struct ocfs2_super *osb);
 
+static struct dquot **ocfs2_get_dquots(struct inode *inode)
+{
+       return OCFS2_I(inode)->i_dquot;
+}
+
 static const struct super_operations ocfs2_sops = {
        .statfs         = ocfs2_statfs,
        .alloc_inode    = ocfs2_alloc_inode,
@@ -155,6 +160,7 @@ static const struct super_operations ocfs2_sops = {
        .show_options   = ocfs2_show_options,
        .quota_read     = ocfs2_quota_read,
        .quota_write    = ocfs2_quota_write,
+       .get_dquots     = ocfs2_get_dquots,
 };
 
 enum {
@@ -563,6 +569,7 @@ static struct inode *ocfs2_alloc_inode(struct super_block *sb)
 
        oi->i_sync_tid = 0;
        oi->i_datasync_tid = 0;
+       memset(&oi->i_dquot, 0, sizeof(oi->i_dquot));
 
        jbd2_journal_init_jbd_inode(&oi->ip_jinode, &oi->vfs_inode);
        return &oi->vfs_inode;
@@ -2073,6 +2080,7 @@ static int ocfs2_initialize_super(struct super_block *sb,
        sb->s_export_op = &ocfs2_export_ops;
        sb->s_qcop = &ocfs2_quotactl_ops;
        sb->dq_op = &ocfs2_quota_operations;
+       sb->s_quota_types = QTYPE_MASK_USR | QTYPE_MASK_GRP;
        sb->s_xattr = ocfs2_xattr_handlers;
        sb->s_time_gran = 1;
        sb->s_flags |= MS_NOATIME;