|
@@ -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 int ocfs2_enable_quotas(struct ocfs2_super *osb);
|
|
static void ocfs2_disable_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 = {
|
|
static const struct super_operations ocfs2_sops = {
|
|
.statfs = ocfs2_statfs,
|
|
.statfs = ocfs2_statfs,
|
|
.alloc_inode = ocfs2_alloc_inode,
|
|
.alloc_inode = ocfs2_alloc_inode,
|
|
@@ -155,6 +160,7 @@ static const struct super_operations ocfs2_sops = {
|
|
.show_options = ocfs2_show_options,
|
|
.show_options = ocfs2_show_options,
|
|
.quota_read = ocfs2_quota_read,
|
|
.quota_read = ocfs2_quota_read,
|
|
.quota_write = ocfs2_quota_write,
|
|
.quota_write = ocfs2_quota_write,
|
|
|
|
+ .get_dquots = ocfs2_get_dquots,
|
|
};
|
|
};
|
|
|
|
|
|
enum {
|
|
enum {
|
|
@@ -563,6 +569,7 @@ static struct inode *ocfs2_alloc_inode(struct super_block *sb)
|
|
|
|
|
|
oi->i_sync_tid = 0;
|
|
oi->i_sync_tid = 0;
|
|
oi->i_datasync_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);
|
|
jbd2_journal_init_jbd_inode(&oi->ip_jinode, &oi->vfs_inode);
|
|
return &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_export_op = &ocfs2_export_ops;
|
|
sb->s_qcop = &ocfs2_quotactl_ops;
|
|
sb->s_qcop = &ocfs2_quotactl_ops;
|
|
sb->dq_op = &ocfs2_quota_operations;
|
|
sb->dq_op = &ocfs2_quota_operations;
|
|
|
|
+ sb->s_quota_types = QTYPE_MASK_USR | QTYPE_MASK_GRP;
|
|
sb->s_xattr = ocfs2_xattr_handlers;
|
|
sb->s_xattr = ocfs2_xattr_handlers;
|
|
sb->s_time_gran = 1;
|
|
sb->s_time_gran = 1;
|
|
sb->s_flags |= MS_NOATIME;
|
|
sb->s_flags |= MS_NOATIME;
|