All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kara <jack@suse.cz>
To: linux-fsdevel@vger.kernel.org
Cc: xfs@oss.sgi.com, cluster-devel@redhat.com,
	ocfs2-devel@oss.oracle.com, Jan Kara <jack@suse.cz>
Subject: [PATCH 17/17] quota: Hook up Q_XSETQLIM for id 0 to ->set_info
Date: Fri, 16 Jan 2015 13:47:51 +0100	[thread overview]
Message-ID: <1421412471-4747-18-git-send-email-jack@suse.cz> (raw)
In-Reply-To: <1421412471-4747-1-git-send-email-jack@suse.cz>

Setting timers or warning counts for id 0 via Q_XSETQLIM is used to
actually set time limits and warning limits for all users. Hook up
->set_info to this so that VFS quota time limits get set the same
way as XFS ones.

When doing this Q_XSETQLIM for XFS is effectively split into two
independent transactions - one for setting timers and warning limits and
one for setting space and inode limits. Although this is inefficient, it
is rare enough that it does not matter.

Signed-off-by: Jan Kara <jack@suse.cz>
---
 fs/quota/quota.c | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/fs/quota/quota.c b/fs/quota/quota.c
index f39bf4725184..813cb94fc81d 100644
--- a/fs/quota/quota.c
+++ b/fs/quota/quota.c
@@ -500,6 +500,30 @@ static void copy_from_xfs_dqblk(struct qc_dqblk *dst, struct fs_disk_quota *src)
 		dst->d_fieldmask |= QC_RT_SPACE;
 }
 
+static void copy_qcinfo_from_xfs_dqblk(struct qc_info *dst,
+				       struct fs_disk_quota *src)
+{
+	memset(dst, 0, sizeof(*dst));
+	dst->i_spc_timelimit = src->d_btimer;
+	dst->i_ino_timelimit = src->d_itimer;
+	dst->i_rt_spc_timelimit = src->d_rtbtimer;
+	dst->i_ino_warnlimit = src->d_iwarns;
+	dst->i_spc_warnlimit = src->d_bwarns;
+	dst->i_rt_spc_warnlimit = src->d_rtbwarns;
+	if (src->d_fieldmask & FS_DQ_BWARNS)
+		dst->i_fieldmask |= QC_SPC_WARNS;
+	if (src->d_fieldmask & FS_DQ_IWARNS)
+		dst->i_fieldmask |= QC_INO_WARNS;
+	if (src->d_fieldmask & FS_DQ_RTBWARNS)
+		dst->i_fieldmask |= QC_RT_SPC_WARNS;
+	if (src->d_fieldmask & FS_DQ_BTIMER)
+		dst->i_fieldmask |= QC_SPC_TIMER;
+	if (src->d_fieldmask & FS_DQ_ITIMER)
+		dst->i_fieldmask |= QC_INO_TIMER;
+	if (src->d_fieldmask & FS_DQ_RTBTIMER)
+		dst->i_fieldmask |= QC_RT_SPC_TIMER;
+}
+
 static int quota_setxquota(struct super_block *sb, int type, qid_t id,
 			   void __user *addr)
 {
@@ -514,6 +538,21 @@ static int quota_setxquota(struct super_block *sb, int type, qid_t id,
 	qid = make_kqid(current_user_ns(), type, id);
 	if (!qid_valid(qid))
 		return -EINVAL;
+	/* Are we actually setting timer / warning limits for all users? */
+	if (from_kqid(&init_user_ns, qid) == 0 &&
+	    fdq.d_fieldmask & (FS_DQ_WARNS_MASK | FS_DQ_TIMER_MASK)) {
+		struct qc_info qinfo;
+		int ret;
+
+		if (!sb->s_qcop->set_info)
+			return -EINVAL;
+		copy_qcinfo_from_xfs_dqblk(&qinfo, &fdq);
+		ret = sb->s_qcop->set_info(sb, type, &qinfo);
+		if (ret)
+			return ret;
+		/* These are already done */
+		fdq.d_fieldmask &= ~(FS_DQ_WARNS_MASK | FS_DQ_TIMER_MASK);
+	}
 	copy_from_xfs_dqblk(&qdq, &fdq);
 	return sb->s_qcop->set_dqblk(sb, qid, &qdq);
 }
-- 
2.1.2


WARNING: multiple messages have this Message-ID (diff)
From: Jan Kara <jack@suse.cz>
To: linux-fsdevel@vger.kernel.org
Cc: cluster-devel@redhat.com, Jan Kara <jack@suse.cz>,
	ocfs2-devel@oss.oracle.com, xfs@oss.sgi.com
Subject: [PATCH 17/17] quota: Hook up Q_XSETQLIM for id 0 to ->set_info
Date: Fri, 16 Jan 2015 13:47:51 +0100	[thread overview]
Message-ID: <1421412471-4747-18-git-send-email-jack@suse.cz> (raw)
In-Reply-To: <1421412471-4747-1-git-send-email-jack@suse.cz>

Setting timers or warning counts for id 0 via Q_XSETQLIM is used to
actually set time limits and warning limits for all users. Hook up
->set_info to this so that VFS quota time limits get set the same
way as XFS ones.

When doing this Q_XSETQLIM for XFS is effectively split into two
independent transactions - one for setting timers and warning limits and
one for setting space and inode limits. Although this is inefficient, it
is rare enough that it does not matter.

Signed-off-by: Jan Kara <jack@suse.cz>
---
 fs/quota/quota.c | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/fs/quota/quota.c b/fs/quota/quota.c
index f39bf4725184..813cb94fc81d 100644
--- a/fs/quota/quota.c
+++ b/fs/quota/quota.c
@@ -500,6 +500,30 @@ static void copy_from_xfs_dqblk(struct qc_dqblk *dst, struct fs_disk_quota *src)
 		dst->d_fieldmask |= QC_RT_SPACE;
 }
 
+static void copy_qcinfo_from_xfs_dqblk(struct qc_info *dst,
+				       struct fs_disk_quota *src)
+{
+	memset(dst, 0, sizeof(*dst));
+	dst->i_spc_timelimit = src->d_btimer;
+	dst->i_ino_timelimit = src->d_itimer;
+	dst->i_rt_spc_timelimit = src->d_rtbtimer;
+	dst->i_ino_warnlimit = src->d_iwarns;
+	dst->i_spc_warnlimit = src->d_bwarns;
+	dst->i_rt_spc_warnlimit = src->d_rtbwarns;
+	if (src->d_fieldmask & FS_DQ_BWARNS)
+		dst->i_fieldmask |= QC_SPC_WARNS;
+	if (src->d_fieldmask & FS_DQ_IWARNS)
+		dst->i_fieldmask |= QC_INO_WARNS;
+	if (src->d_fieldmask & FS_DQ_RTBWARNS)
+		dst->i_fieldmask |= QC_RT_SPC_WARNS;
+	if (src->d_fieldmask & FS_DQ_BTIMER)
+		dst->i_fieldmask |= QC_SPC_TIMER;
+	if (src->d_fieldmask & FS_DQ_ITIMER)
+		dst->i_fieldmask |= QC_INO_TIMER;
+	if (src->d_fieldmask & FS_DQ_RTBTIMER)
+		dst->i_fieldmask |= QC_RT_SPC_TIMER;
+}
+
 static int quota_setxquota(struct super_block *sb, int type, qid_t id,
 			   void __user *addr)
 {
@@ -514,6 +538,21 @@ static int quota_setxquota(struct super_block *sb, int type, qid_t id,
 	qid = make_kqid(current_user_ns(), type, id);
 	if (!qid_valid(qid))
 		return -EINVAL;
+	/* Are we actually setting timer / warning limits for all users? */
+	if (from_kqid(&init_user_ns, qid) == 0 &&
+	    fdq.d_fieldmask & (FS_DQ_WARNS_MASK | FS_DQ_TIMER_MASK)) {
+		struct qc_info qinfo;
+		int ret;
+
+		if (!sb->s_qcop->set_info)
+			return -EINVAL;
+		copy_qcinfo_from_xfs_dqblk(&qinfo, &fdq);
+		ret = sb->s_qcop->set_info(sb, type, &qinfo);
+		if (ret)
+			return ret;
+		/* These are already done */
+		fdq.d_fieldmask &= ~(FS_DQ_WARNS_MASK | FS_DQ_TIMER_MASK);
+	}
 	copy_from_xfs_dqblk(&qdq, &fdq);
 	return sb->s_qcop->set_dqblk(sb, qid, &qdq);
 }
-- 
2.1.2

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

WARNING: multiple messages have this Message-ID (diff)
From: Jan Kara <jack@suse.cz>
To: linux-fsdevel@vger.kernel.org
Cc: xfs@oss.sgi.com, cluster-devel@redhat.com,
	ocfs2-devel@oss.oracle.com, Jan Kara <jack@suse.cz>
Subject: [Ocfs2-devel] [PATCH 17/17] quota: Hook up Q_XSETQLIM for id 0 to ->set_info
Date: Fri, 16 Jan 2015 13:47:51 +0100	[thread overview]
Message-ID: <1421412471-4747-18-git-send-email-jack@suse.cz> (raw)
In-Reply-To: <1421412471-4747-1-git-send-email-jack@suse.cz>

Setting timers or warning counts for id 0 via Q_XSETQLIM is used to
actually set time limits and warning limits for all users. Hook up
->set_info to this so that VFS quota time limits get set the same
way as XFS ones.

When doing this Q_XSETQLIM for XFS is effectively split into two
independent transactions - one for setting timers and warning limits and
one for setting space and inode limits. Although this is inefficient, it
is rare enough that it does not matter.

Signed-off-by: Jan Kara <jack@suse.cz>
---
 fs/quota/quota.c | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/fs/quota/quota.c b/fs/quota/quota.c
index f39bf4725184..813cb94fc81d 100644
--- a/fs/quota/quota.c
+++ b/fs/quota/quota.c
@@ -500,6 +500,30 @@ static void copy_from_xfs_dqblk(struct qc_dqblk *dst, struct fs_disk_quota *src)
 		dst->d_fieldmask |= QC_RT_SPACE;
 }
 
+static void copy_qcinfo_from_xfs_dqblk(struct qc_info *dst,
+				       struct fs_disk_quota *src)
+{
+	memset(dst, 0, sizeof(*dst));
+	dst->i_spc_timelimit = src->d_btimer;
+	dst->i_ino_timelimit = src->d_itimer;
+	dst->i_rt_spc_timelimit = src->d_rtbtimer;
+	dst->i_ino_warnlimit = src->d_iwarns;
+	dst->i_spc_warnlimit = src->d_bwarns;
+	dst->i_rt_spc_warnlimit = src->d_rtbwarns;
+	if (src->d_fieldmask & FS_DQ_BWARNS)
+		dst->i_fieldmask |= QC_SPC_WARNS;
+	if (src->d_fieldmask & FS_DQ_IWARNS)
+		dst->i_fieldmask |= QC_INO_WARNS;
+	if (src->d_fieldmask & FS_DQ_RTBWARNS)
+		dst->i_fieldmask |= QC_RT_SPC_WARNS;
+	if (src->d_fieldmask & FS_DQ_BTIMER)
+		dst->i_fieldmask |= QC_SPC_TIMER;
+	if (src->d_fieldmask & FS_DQ_ITIMER)
+		dst->i_fieldmask |= QC_INO_TIMER;
+	if (src->d_fieldmask & FS_DQ_RTBTIMER)
+		dst->i_fieldmask |= QC_RT_SPC_TIMER;
+}
+
 static int quota_setxquota(struct super_block *sb, int type, qid_t id,
 			   void __user *addr)
 {
@@ -514,6 +538,21 @@ static int quota_setxquota(struct super_block *sb, int type, qid_t id,
 	qid = make_kqid(current_user_ns(), type, id);
 	if (!qid_valid(qid))
 		return -EINVAL;
+	/* Are we actually setting timer / warning limits for all users? */
+	if (from_kqid(&init_user_ns, qid) == 0 &&
+	    fdq.d_fieldmask & (FS_DQ_WARNS_MASK | FS_DQ_TIMER_MASK)) {
+		struct qc_info qinfo;
+		int ret;
+
+		if (!sb->s_qcop->set_info)
+			return -EINVAL;
+		copy_qcinfo_from_xfs_dqblk(&qinfo, &fdq);
+		ret = sb->s_qcop->set_info(sb, type, &qinfo);
+		if (ret)
+			return ret;
+		/* These are already done */
+		fdq.d_fieldmask &= ~(FS_DQ_WARNS_MASK | FS_DQ_TIMER_MASK);
+	}
 	copy_from_xfs_dqblk(&qdq, &fdq);
 	return sb->s_qcop->set_dqblk(sb, qid, &qdq);
 }
-- 
2.1.2

WARNING: multiple messages have this Message-ID (diff)
From: Jan Kara <jack@suse.cz>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [PATCH 17/17] quota: Hook up Q_XSETQLIM for id 0 to ->set_info
Date: Fri, 16 Jan 2015 13:47:51 +0100	[thread overview]
Message-ID: <1421412471-4747-18-git-send-email-jack@suse.cz> (raw)
In-Reply-To: <1421412471-4747-1-git-send-email-jack@suse.cz>

Setting timers or warning counts for id 0 via Q_XSETQLIM is used to
actually set time limits and warning limits for all users. Hook up
->set_info to this so that VFS quota time limits get set the same
way as XFS ones.

When doing this Q_XSETQLIM for XFS is effectively split into two
independent transactions - one for setting timers and warning limits and
one for setting space and inode limits. Although this is inefficient, it
is rare enough that it does not matter.

Signed-off-by: Jan Kara <jack@suse.cz>
---
 fs/quota/quota.c | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/fs/quota/quota.c b/fs/quota/quota.c
index f39bf4725184..813cb94fc81d 100644
--- a/fs/quota/quota.c
+++ b/fs/quota/quota.c
@@ -500,6 +500,30 @@ static void copy_from_xfs_dqblk(struct qc_dqblk *dst, struct fs_disk_quota *src)
 		dst->d_fieldmask |= QC_RT_SPACE;
 }
 
+static void copy_qcinfo_from_xfs_dqblk(struct qc_info *dst,
+				       struct fs_disk_quota *src)
+{
+	memset(dst, 0, sizeof(*dst));
+	dst->i_spc_timelimit = src->d_btimer;
+	dst->i_ino_timelimit = src->d_itimer;
+	dst->i_rt_spc_timelimit = src->d_rtbtimer;
+	dst->i_ino_warnlimit = src->d_iwarns;
+	dst->i_spc_warnlimit = src->d_bwarns;
+	dst->i_rt_spc_warnlimit = src->d_rtbwarns;
+	if (src->d_fieldmask & FS_DQ_BWARNS)
+		dst->i_fieldmask |= QC_SPC_WARNS;
+	if (src->d_fieldmask & FS_DQ_IWARNS)
+		dst->i_fieldmask |= QC_INO_WARNS;
+	if (src->d_fieldmask & FS_DQ_RTBWARNS)
+		dst->i_fieldmask |= QC_RT_SPC_WARNS;
+	if (src->d_fieldmask & FS_DQ_BTIMER)
+		dst->i_fieldmask |= QC_SPC_TIMER;
+	if (src->d_fieldmask & FS_DQ_ITIMER)
+		dst->i_fieldmask |= QC_INO_TIMER;
+	if (src->d_fieldmask & FS_DQ_RTBTIMER)
+		dst->i_fieldmask |= QC_RT_SPC_TIMER;
+}
+
 static int quota_setxquota(struct super_block *sb, int type, qid_t id,
 			   void __user *addr)
 {
@@ -514,6 +538,21 @@ static int quota_setxquota(struct super_block *sb, int type, qid_t id,
 	qid = make_kqid(current_user_ns(), type, id);
 	if (!qid_valid(qid))
 		return -EINVAL;
+	/* Are we actually setting timer / warning limits for all users? */
+	if (from_kqid(&init_user_ns, qid) == 0 &&
+	    fdq.d_fieldmask & (FS_DQ_WARNS_MASK | FS_DQ_TIMER_MASK)) {
+		struct qc_info qinfo;
+		int ret;
+
+		if (!sb->s_qcop->set_info)
+			return -EINVAL;
+		copy_qcinfo_from_xfs_dqblk(&qinfo, &fdq);
+		ret = sb->s_qcop->set_info(sb, type, &qinfo);
+		if (ret)
+			return ret;
+		/* These are already done */
+		fdq.d_fieldmask &= ~(FS_DQ_WARNS_MASK | FS_DQ_TIMER_MASK);
+	}
 	copy_from_xfs_dqblk(&qdq, &fdq);
 	return sb->s_qcop->set_dqblk(sb, qid, &qdq);
 }
-- 
2.1.2



  parent reply	other threads:[~2015-01-16 12:48 UTC|newest]

Thread overview: 150+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-16 12:47 [PATCH 0/17 v3] quota: Unify VFS and XFS quota interfaces Jan Kara
2015-01-16 12:47 ` [Cluster-devel] " Jan Kara
2015-01-16 12:47 ` [Ocfs2-devel] " Jan Kara
2015-01-16 12:47 ` Jan Kara
2015-01-16 12:47 ` [PATCH 01/17] quota: Split ->set_xstate callback into two Jan Kara
2015-01-16 12:47   ` [Cluster-devel] " Jan Kara
2015-01-16 12:47   ` [Ocfs2-devel] " Jan Kara
2015-01-16 12:47   ` Jan Kara
2015-01-19  9:00   ` Christoph Hellwig
2015-01-19  9:00     ` [Cluster-devel] " Christoph Hellwig
2015-01-19  9:00     ` [Ocfs2-devel] " Christoph Hellwig
2015-01-19  9:00     ` Christoph Hellwig
2015-01-16 12:47 ` [PATCH 02/17] quota: Wire up ->quota_{enable,disable} callbacks into Q_QUOTA{ON,OFF} Jan Kara
2015-01-16 12:47   ` [Cluster-devel] [PATCH 02/17] quota: Wire up ->quota_{enable, disable} callbacks into Q_QUOTA{ON, OFF} Jan Kara
2015-01-16 12:47   ` [Ocfs2-devel] " Jan Kara
2015-01-16 12:47   ` Jan Kara
2015-01-19  9:01   ` [PATCH 02/17] quota: Wire up ->quota_{enable,disable} callbacks into Q_QUOTA{ON,OFF} Christoph Hellwig
2015-01-19  9:01     ` [Cluster-devel] [PATCH 02/17] quota: Wire up ->quota_{enable, disable} callbacks into Q_QUOTA{ON, OFF} Christoph Hellwig
2015-01-19  9:01     ` [Ocfs2-devel] " Christoph Hellwig
2015-01-19  9:01     ` [PATCH 02/17] quota: Wire up ->quota_{enable,disable} callbacks into Q_QUOTA{ON,OFF} Christoph Hellwig
2015-01-20 17:01     ` Jan Kara
2015-01-20 17:01       ` [Cluster-devel] [PATCH 02/17] quota: Wire up ->quota_{enable, disable} callbacks into Q_QUOTA{ON, OFF} Jan Kara
2015-01-20 17:01       ` [Ocfs2-devel] " Jan Kara
2015-01-16 12:47 ` [PATCH 03/17] quota: Add ->quota_{enable, disable} callbacks for VFS quotas Jan Kara
2015-01-16 12:47   ` [Cluster-devel] " Jan Kara
2015-01-16 12:47   ` [Ocfs2-devel] " Jan Kara
2015-01-19  9:02   ` [PATCH 03/17] quota: Add ->quota_{enable,disable} " Christoph Hellwig
2015-01-19  9:02     ` [Cluster-devel] [PATCH 03/17] quota: Add ->quota_{enable, disable} " Christoph Hellwig
2015-01-19  9:02     ` [Ocfs2-devel] " Christoph Hellwig
2015-01-19  9:02     ` [PATCH 03/17] quota: Add ->quota_{enable,disable} " Christoph Hellwig
2015-01-20 17:08     ` Jan Kara
2015-01-20 17:08       ` [Cluster-devel] [PATCH 03/17] quota: Add ->quota_{enable, disable} " Jan Kara
2015-01-20 17:08       ` [Ocfs2-devel] " Jan Kara
2015-01-20 17:08       ` [PATCH 03/17] quota: Add ->quota_{enable,disable} " Jan Kara
2015-01-16 12:47 ` [PATCH 04/17] ext4: Use generic helpers for quotaon and quotaoff Jan Kara
2015-01-16 12:47   ` [Cluster-devel] " Jan Kara
2015-01-16 12:47   ` [Ocfs2-devel] " Jan Kara
2015-01-19  9:03   ` Christoph Hellwig
2015-01-19  9:03     ` [Cluster-devel] " Christoph Hellwig
2015-01-19  9:03     ` [Ocfs2-devel] " Christoph Hellwig
2015-01-16 12:47 ` [PATCH 05/17] ocfs2: " Jan Kara
2015-01-16 12:47   ` [Cluster-devel] " Jan Kara
2015-01-16 12:47   ` [Ocfs2-devel] " Jan Kara
2015-01-16 12:47   ` Jan Kara
2015-01-19  9:03   ` Christoph Hellwig
2015-01-19  9:03     ` [Cluster-devel] " Christoph Hellwig
2015-01-19  9:03     ` [Ocfs2-devel] " Christoph Hellwig
2015-01-19  9:03     ` Christoph Hellwig
2015-01-20 17:13     ` Jan Kara
2015-01-20 17:13       ` [Cluster-devel] " Jan Kara
2015-01-20 17:13       ` [Ocfs2-devel] " Jan Kara
2015-01-16 12:47 ` [PATCH 06/17] quota: Remove quota_on_meta callback Jan Kara
2015-01-16 12:47   ` [Cluster-devel] " Jan Kara
2015-01-16 12:47   ` [Ocfs2-devel] " Jan Kara
2015-01-16 12:47   ` Jan Kara
2015-01-19  9:04   ` Christoph Hellwig
2015-01-19  9:04     ` [Cluster-devel] " Christoph Hellwig
2015-01-19  9:04     ` [Ocfs2-devel] " Christoph Hellwig
2015-01-16 12:47 ` [PATCH 07/17] quota: Switch ->get_dqblk() and ->set_dqblk() to use bytes as space units Jan Kara
2015-01-16 12:47   ` [Cluster-devel] " Jan Kara
2015-01-16 12:47   ` [Ocfs2-devel] " Jan Kara
2015-01-16 12:47   ` Jan Kara
2015-01-19  9:07   ` Christoph Hellwig
2015-01-19  9:07     ` [Cluster-devel] " Christoph Hellwig
2015-01-19  9:07     ` [Ocfs2-devel] " Christoph Hellwig
2015-01-19  9:07     ` Christoph Hellwig
2015-01-20 16:53     ` Jan Kara
2015-01-20 16:53       ` [Cluster-devel] " Jan Kara
2015-01-20 16:53       ` [Ocfs2-devel] " Jan Kara
2015-01-20 16:53       ` Jan Kara
2015-01-16 12:47 ` [PATCH 08/17] quota: Store maximum space limit in bytes Jan Kara
2015-01-16 12:47   ` [Cluster-devel] " Jan Kara
2015-01-16 12:47   ` [Ocfs2-devel] " Jan Kara
2015-01-16 12:47   ` Jan Kara
2015-01-19  9:07   ` Christoph Hellwig
2015-01-19  9:07     ` [Cluster-devel] " Christoph Hellwig
2015-01-19  9:07     ` [Ocfs2-devel] " Christoph Hellwig
2015-01-19  9:07     ` Christoph Hellwig
2015-01-16 12:47 ` [PATCH 09/17] quota: Make Q_XQUOTASYNC support VFS quota syncing Jan Kara
2015-01-16 12:47   ` [Cluster-devel] " Jan Kara
2015-01-16 12:47   ` [Ocfs2-devel] " Jan Kara
2015-01-16 12:47   ` Jan Kara
2015-01-19  9:09   ` Christoph Hellwig
2015-01-19  9:09     ` [Cluster-devel] " Christoph Hellwig
2015-01-19  9:09     ` [Ocfs2-devel] " Christoph Hellwig
2015-01-19  9:09     ` Christoph Hellwig
2015-01-20 17:16     ` Jan Kara
2015-01-20 17:16       ` [Cluster-devel] " Jan Kara
2015-01-20 17:16       ` [Ocfs2-devel] " Jan Kara
2015-01-20 17:16       ` Jan Kara
2015-01-16 12:47 ` [PATCH 10/17] quota: Make VFS quotas use new interface for getting quota info Jan Kara
2015-01-16 12:47   ` [Cluster-devel] " Jan Kara
2015-01-16 12:47   ` [Ocfs2-devel] " Jan Kara
2015-01-16 12:47   ` Jan Kara
2015-01-19  9:10   ` Christoph Hellwig
2015-01-19  9:10     ` [Cluster-devel] " Christoph Hellwig
2015-01-19  9:10     ` [Ocfs2-devel] " Christoph Hellwig
2015-01-16 12:47 ` [PATCH 11/17] quota: Wire up Q_GETXSTATE and Q_GETXSTATV calls to work with ->get_state Jan Kara
2015-01-16 12:47   ` [Cluster-devel] " Jan Kara
2015-01-16 12:47   ` [Ocfs2-devel] " Jan Kara
2015-01-16 12:47   ` Jan Kara
2015-01-19  9:11   ` Christoph Hellwig
2015-01-19  9:11     ` [Cluster-devel] " Christoph Hellwig
2015-01-19  9:11     ` [Ocfs2-devel] " Christoph Hellwig
2015-01-16 12:47 ` [PATCH 12/17] xfs: Convert to using ->get_state callback Jan Kara
2015-01-16 12:47   ` [Cluster-devel] " Jan Kara
2015-01-16 12:47   ` [Ocfs2-devel] " Jan Kara
2015-01-16 12:47   ` Jan Kara
2015-01-19  9:38   ` Christoph Hellwig
2015-01-19  9:38     ` [Cluster-devel] " Christoph Hellwig
2015-01-19  9:38     ` [Ocfs2-devel] " Christoph Hellwig
2015-01-20 17:33     ` Jan Kara
2015-01-20 17:33       ` [Cluster-devel] " Jan Kara
2015-01-20 17:33       ` [Ocfs2-devel] " Jan Kara
2015-01-20 17:33       ` Jan Kara
2015-01-16 12:47 ` [PATCH 13/17] gfs2: " Jan Kara
2015-01-16 12:47   ` [Cluster-devel] " Jan Kara
2015-01-16 12:47   ` [Ocfs2-devel] " Jan Kara
2015-01-16 12:47   ` Jan Kara
2015-01-16 12:47 ` [PATCH 14/17] quota: Remove ->get_xstate and ->get_xstatev callbacks Jan Kara
2015-01-16 12:47   ` [Cluster-devel] " Jan Kara
2015-01-16 12:47   ` [Ocfs2-devel] " Jan Kara
2015-01-16 12:47   ` Jan Kara
2015-01-19  9:38   ` Christoph Hellwig
2015-01-19  9:38     ` [Cluster-devel] " Christoph Hellwig
2015-01-19  9:38     ` [Ocfs2-devel] " Christoph Hellwig
2015-01-19  9:38     ` Christoph Hellwig
2015-01-16 12:47 ` [PATCH 15/17] quota: Make ->set_info use structure with neccesary info to VFS and XFS Jan Kara
2015-01-16 12:47   ` [Cluster-devel] " Jan Kara
2015-01-16 12:47   ` [Ocfs2-devel] " Jan Kara
2015-01-16 12:47   ` Jan Kara
2015-01-16 12:47 ` [PATCH 16/17] xfs: Add support for Q_SETINFO Jan Kara
2015-01-16 12:47   ` [Cluster-devel] " Jan Kara
2015-01-16 12:47   ` [Ocfs2-devel] " Jan Kara
2015-01-16 12:47   ` Jan Kara
2015-01-16 12:47 ` Jan Kara [this message]
2015-01-16 12:47   ` [Cluster-devel] [PATCH 17/17] quota: Hook up Q_XSETQLIM for id 0 to ->set_info Jan Kara
2015-01-16 12:47   ` [Ocfs2-devel] " Jan Kara
2015-01-16 12:47   ` Jan Kara
2015-01-21 21:38 ` [PATCH 0/17 v3] quota: Unify VFS and XFS quota interfaces Dave Chinner
2015-01-21 21:38   ` [Cluster-devel] " Dave Chinner
2015-01-21 21:38   ` [Ocfs2-devel] " Dave Chinner
2015-01-21 21:38   ` Dave Chinner
2015-01-21 22:23   ` Jan Kara
2015-01-21 22:23     ` [Cluster-devel] " Jan Kara
2015-01-21 22:23     ` [Ocfs2-devel] " Jan Kara
2015-01-21 22:23     ` Jan Kara
2015-01-21 23:10     ` Dave Chinner
2015-01-21 23:10       ` [Cluster-devel] " Dave Chinner
2015-01-21 23:10       ` [Ocfs2-devel] " Dave Chinner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1421412471-4747-18-git-send-email-jack@suse.cz \
    --to=jack@suse.cz \
    --cc=cluster-devel@redhat.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=ocfs2-devel@oss.oracle.com \
    --cc=xfs@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.