aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2014-09-29 09:02:51 -0400
committerJan Kara <jack@suse.cz>2014-11-10 04:06:11 -0500
commit1c92ec678f32a4fdb9c0f7294b4d6f506b9a4b84 (patch)
tree38dd6389cbebef5caa6113ef9ae1b616da712eff
parent96c7e0d964e278858552b8d5497f440b9027b292 (diff)
ocfs2: Convert to private i_dquot field
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>
-rw-r--r--fs/ocfs2/inode.h2
-rw-r--r--fs/ocfs2/super.c8
2 files changed, 10 insertions, 0 deletions
diff --git a/fs/ocfs2/inode.h b/fs/ocfs2/inode.h
index a9b76de46047..ca3431ee7f24 100644
--- a/fs/ocfs2/inode.h
+++ b/fs/ocfs2/inode.h
@@ -80,6 +80,8 @@ struct ocfs2_inode_info
80 */ 80 */
81 tid_t i_sync_tid; 81 tid_t i_sync_tid;
82 tid_t i_datasync_tid; 82 tid_t i_datasync_tid;
83
84 struct dquot *i_dquot[MAXQUOTAS];
83}; 85};
84 86
85/* 87/*
diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c
index 93c85bc745e1..0945814ddb7b 100644
--- a/fs/ocfs2/super.c
+++ b/fs/ocfs2/super.c
@@ -143,6 +143,11 @@ static int ocfs2_susp_quotas(struct ocfs2_super *osb, int unsuspend);
143static int ocfs2_enable_quotas(struct ocfs2_super *osb); 143static int ocfs2_enable_quotas(struct ocfs2_super *osb);
144static void ocfs2_disable_quotas(struct ocfs2_super *osb); 144static void ocfs2_disable_quotas(struct ocfs2_super *osb);
145 145
146static struct dquot **ocfs2_get_dquots(struct inode *inode)
147{
148 return OCFS2_I(inode)->i_dquot;
149}
150
146static const struct super_operations ocfs2_sops = { 151static const struct super_operations ocfs2_sops = {
147 .statfs = ocfs2_statfs, 152 .statfs = ocfs2_statfs,
148 .alloc_inode = ocfs2_alloc_inode, 153 .alloc_inode = ocfs2_alloc_inode,
@@ -155,6 +160,7 @@ static const struct super_operations ocfs2_sops = {
155 .show_options = ocfs2_show_options, 160 .show_options = ocfs2_show_options,
156 .quota_read = ocfs2_quota_read, 161 .quota_read = ocfs2_quota_read,
157 .quota_write = ocfs2_quota_write, 162 .quota_write = ocfs2_quota_write,
163 .get_dquots = ocfs2_get_dquots,
158}; 164};
159 165
160enum { 166enum {
@@ -563,6 +569,7 @@ static struct inode *ocfs2_alloc_inode(struct super_block *sb)
563 569
564 oi->i_sync_tid = 0; 570 oi->i_sync_tid = 0;
565 oi->i_datasync_tid = 0; 571 oi->i_datasync_tid = 0;
572 memset(&oi->i_dquot, 0, sizeof(oi->i_dquot));
566 573
567 jbd2_journal_init_jbd_inode(&oi->ip_jinode, &oi->vfs_inode); 574 jbd2_journal_init_jbd_inode(&oi->ip_jinode, &oi->vfs_inode);
568 return &oi->vfs_inode; 575 return &oi->vfs_inode;
@@ -2073,6 +2080,7 @@ static int ocfs2_initialize_super(struct super_block *sb,
2073 sb->s_export_op = &ocfs2_export_ops; 2080 sb->s_export_op = &ocfs2_export_ops;
2074 sb->s_qcop = &ocfs2_quotactl_ops; 2081 sb->s_qcop = &ocfs2_quotactl_ops;
2075 sb->dq_op = &ocfs2_quota_operations; 2082 sb->dq_op = &ocfs2_quota_operations;
2083 sb->s_quota_types = QTYPE_MASK_USR | QTYPE_MASK_GRP;
2076 sb->s_xattr = ocfs2_xattr_handlers; 2084 sb->s_xattr = ocfs2_xattr_handlers;
2077 sb->s_time_gran = 1; 2085 sb->s_time_gran = 1;
2078 sb->s_flags |= MS_NOATIME; 2086 sb->s_flags |= MS_NOATIME;