All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] quota-tools: Set FS_DQ_TIMER_MASK for individual xfs grace times
@ 2020-05-14  3:45 Eric Sandeen
  2020-05-14 10:20 ` Jan Kara
  0 siblings, 1 reply; 5+ messages in thread
From: Eric Sandeen @ 2020-05-14  3:45 UTC (permalink / raw)
  To: Jan Kara, linux-xfs; +Cc: Petr Písař

xfs quota code doesn't currently allow increasing an individual
user's grace time, but kernel patches are in development for this.

In order for setquota to be able to send this update via
setquota -T, we need to add the FS_DQ_TIMER_MASK when we are trying
to update the grace times on an individual user's dquot.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
---

I wonder if we should only be setting the LIMIT_MASK only if
(flags & COMMIT_LIMITS), but it doesn't seem to be a problem and
is unrelated to this change I'm leaving it alone for now, though if
anyone thinks it's better I can update the patch.

I'm putting together xfstests cases for this, if you want to wait
for those, that's fine.  Thanks!

diff --git a/quotaio_xfs.c b/quotaio_xfs.c
index b22c7b4..a4d6f67 100644
--- a/quotaio_xfs.c
+++ b/quotaio_xfs.c
@@ -166,6 +166,8 @@ static int xfs_commit_dquot(struct dquot *dquot, int flags)
 			xdqblk.d_fieldmask |= FS_DQ_BCOUNT;
 	} else {
 		xdqblk.d_fieldmask |= FS_DQ_LIMIT_MASK;
+		if (flags & COMMIT_TIMES) /* indiv grace period */
+			xdqblk.d_fieldmask |= FS_DQ_TIMER_MASK;
 	}
 
 	qcmd = QCMD(Q_XFS_SETQLIM, h->qh_type);


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-05-20 14:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-14  3:45 [PATCH] quota-tools: Set FS_DQ_TIMER_MASK for individual xfs grace times Eric Sandeen
2020-05-14 10:20 ` Jan Kara
2020-05-19 17:19   ` Eric Sandeen
2020-05-20 14:27     ` Jan Kara
2020-05-20 14:56       ` Eric Sandeen

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.