All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Sandeen <sandeen@redhat.com>
To: linux-xfs <linux-xfs@vger.kernel.org>
Subject: [PATCH 1/2] xfs: group quota should return EDQUOT when prj quota enabled
Date: Thu, 7 May 2020 22:38:33 -0500	[thread overview]
Message-ID: <cb095532-b72b-6369-7304-3b589568f0fe@redhat.com> (raw)
In-Reply-To: <447d7fec-2eff-fa99-cd19-acdf353c80d4@redhat.com>

Long ago, group & project quota were mutually exclusive, and so
when we turned on XFS_QMOPT_ENOSPC ("return ENOSPC if project quota
is exceeded") when project quota was enabled, we only needed to
disable it again for user quota.

When group & project quota got separated, this got missed, and as a
result if project quota is enabled and group quota is exceeded, the
error code returned is incorrectly returned as ENOSPC not EDQUOT.

Fix this by stripping XFS_QMOPT_ENOSPC out of flags for group
quota when we try to reserve the space.

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

diff --git a/fs/xfs/xfs_trans_dquot.c b/fs/xfs/xfs_trans_dquot.c
index e4eca607e512..47c6e88c9db6 100644
--- a/fs/xfs/xfs_trans_dquot.c
+++ b/fs/xfs/xfs_trans_dquot.c
@@ -757,7 +757,8 @@ xfs_trans_reserve_quota_bydquots(
 	}
 
 	if (gdqp) {
-		error = xfs_trans_dqresv(tp, mp, gdqp, nblks, ninos, flags);
+		error = xfs_trans_dqresv(tp, mp, gdqp, nblks, ninos,
+					(flags & ~XFS_QMOPT_ENOSPC));
 		if (error)
 			goto unwind_usr;
 	}


  reply	other threads:[~2020-05-08  3:38 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-08  3:31 [PATCH 0/2] xfs: fix project quota ENOSPC vs EDQUOT Eric Sandeen
2020-05-08  3:38 ` Eric Sandeen [this message]
2020-05-08  7:13   ` [PATCH 1/2] xfs: group quota should return EDQUOT when prj quota enabled Christoph Hellwig
2020-05-08 14:28     ` Eric Sandeen
2020-05-08 13:00   ` Brian Foster
2020-05-08  4:00 ` [PATCH 2/2] xfs: remove XFS_QMOPT_ENOSPC flag Eric Sandeen
2020-05-08  7:14   ` Christoph Hellwig
2020-05-08 13:01   ` Brian Foster
2020-05-08 15:45     ` Eric Sandeen
2020-05-08 16:21       ` Brian Foster
2020-05-12 23:34         ` Darrick J. Wong
2020-05-13 11:00           ` Brian Foster
2020-05-13 13:39             ` Eric Sandeen
2020-05-13 15:29               ` Darrick J. Wong
2020-05-13 17:39   ` [PATCH 2/2 V2] xfs: always return -ENOSPC on project quota reservation failure Eric Sandeen
2020-05-14 11:43     ` Brian Foster

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=cb095532-b72b-6369-7304-3b589568f0fe@redhat.com \
    --to=sandeen@redhat.com \
    --cc=linux-xfs@vger.kernel.org \
    /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.