[PATCH 09/12] ocfs2: Convert to private i_dquot field

Jan Kara <[email protected]>
Newsgroups gmane.comp.file-systems.jfs.general,gmane.linux.file-systems,gmane.comp.file-systems.reiserfs.general,gmane.linux.cluster.redhat.cluster.devel,gmane.comp.file-systems.ext4,gmane.comp.file-systems.ocfs2.devel
Message-ID <[email protected]>
CC: Mark Fasheh <[email protected]>
CC: Joel Becker <[email protected]>
CC: [email protected]
Signed-off-by: Jan Kara <[email protected]>
---
 fs/ocfs2/inode.h |  4 ++++
 fs/ocfs2/super.c | 12 ++++++++++++
 2 files changed, 16 insertions(+)

diff --git a/fs/ocfs2/inode.h b/fs/ocfs2/inode.h
index a6c991c0fc98..aed65d3aff57 100644
--- a/fs/ocfs2/inode.h
+++ b/fs/ocfs2/inode.h
@@ -80,6 +80,10 @@ struct ocfs2_inode_info
 	 */
 	tid_t i_sync_tid;
 	tid_t i_datasync_tid;
+
+#ifdef CONFIG_QUOTA
+	struct dquot *i_dquot[MAXQUOTAS];
+#endif
 };
 
 /*
diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c
index ddb662b32447..4147b6962097 100644
--- a/fs/ocfs2/super.c
+++ b/fs/ocfs2/super.c
@@ -157,6 +157,13 @@ static const struct super_operations ocfs2_sops = {
 	.quota_write	= ocfs2_quota_write,
 };
 
+static const int ocfs2_inode_fields[IF_FIELD_NR] = {
+#ifdef CONFIG_QUOTA
+	[IF_DQUOTS] = offsetof(struct ocfs2_inode_info, i_dquot) -
+		      offsetof(struct ocfs2_inode_info, vfs_inode),
+#endif
+};
+
 enum {
 	Opt_barrier,
 	Opt_err_panic,
@@ -563,6 +570,9 @@ static struct inode *ocfs2_alloc_inode(struct super_block *sb)
 
 	oi->i_sync_tid = 0;
 	oi->i_datasync_tid = 0;
+#ifdef CONFIG_QUOTA
+	memset(&oi->i_dquot, 0, sizeof(oi->i_dquot));
+#endif
 
 	jbd2_journal_init_jbd_inode(&oi->ip_jinode, &oi->vfs_inode);
 	return &oi->vfs_inode;
@@ -2069,7 +2079,9 @@ 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_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP;
 	sb->s_xattr = ocfs2_xattr_handlers;
+	sb_init_inode_fields(sb, ocfs2_inode_fields);
 	sb->s_time_gran = 1;
 	sb->s_flags |= MS_NOATIME;
 	/* this is needed to support O_LARGEFILE */
-- 
1.8.1.4


------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.