From: "Darrick J. Wong" <darrick.wong@oracle.com>
To: guaneryu@gmail.com, darrick.wong@oracle.com
Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org
Subject: [PATCH 8/8] xfs: filter out mount options that don't work on v4 filesystems
Date: Thu, 01 Nov 2018 16:19:52 -0700 [thread overview]
Message-ID: <154111439271.6577.9895278106106014415.stgit@magnolia> (raw)
In-Reply-To: <154111434286.6577.15010861884505931015.stgit@magnolia>
From: Darrick J. Wong <darrick.wong@oracle.com>
A few tests require v4 filesystems and enforce this by disabling crc's
in the _scratch_mkfs call. However, if the user specified MOUNT_OPTIONS
that only work with v5 filesystems, these tests fail. If we detect a
test creating a v4 scratch filesystem, filter out incompatible mount
options that don't work on v4, such as simultaneous group/project quota.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
---
common/xfs | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/common/xfs b/common/xfs
index 80340b0d..484e6ab6 100644
--- a/common/xfs
+++ b/common/xfs
@@ -89,6 +89,7 @@ _scratch_mkfs_xfs()
_scratch_do_mkfs "$mkfs_cmd" "$mkfs_filter" $* 2>$tmp.mkfserr 1>$tmp.mkfsstd
mkfs_status=$?
+ grep -q crc=0 $tmp.mkfsstd && _force_xfsv4_mount_options
if [ $mkfs_status -eq 0 -a "$LARGE_SCRATCH_DEV" = yes ]; then
# manually parse the mkfs output to get the fs size in bytes
@@ -779,3 +780,26 @@ _scratch_get_bmx_prefix() {
_scratch_xfs_db -c "inode ${ino}" -c 'p' >> $seqres.full
return 1
}
+
+#
+# Ensures that we don't pass any mount options incompatible with XFS v4
+#
+_force_xfsv4_mount_options()
+{
+ local gquota=0
+ local pquota=0
+
+ # Can't have group and project quotas in XFS v4
+ echo "$MOUNT_OPTIONS" | egrep -q "(gquota|grpquota|grpjquota=|gqnoenforce)" && gquota=1
+ echo "$MOUNT_OPTIONS" | egrep -q "(\bpquota|prjquota|pqnoenforce)" && pquota=1
+
+ if [ $gquota -gt 0 ] && [ $pquota -gt 0 ]; then
+ export MOUNT_OPTIONS=$(echo $MOUNT_OPTIONS \
+ | sed -e 's/gquota/QUOTA/g' \
+ -e 's/grpquota/QUOTA/g' \
+ -e 's/grpjquota=[^, ]/QUOTA/g' \
+ -e 's/gqnoenforce/QUOTA/g' \
+ -e "s/QUOTA/defaults/g")
+ fi
+ echo "MOUNT_OPTIONS = $MOUNT_OPTIONS" >>$seqres.full
+}
next prev parent reply other threads:[~2018-11-02 8:25 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-01 23:19 [PATCH 0/8] fstests: fix quota failures on xfs Darrick J. Wong
2018-11-01 23:19 ` [PATCH 1/8] quota: clean out speculative preallocations when checking quota usage Darrick J. Wong
2018-11-01 23:19 ` [PATCH 2/8] xfs: force unlink metadata updates to disk Darrick J. Wong
2018-11-01 23:19 ` [PATCH 3/8] generic/050: fix ro blockdev mount of xfs with quota Darrick J. Wong
2018-11-04 15:32 ` Eryu Guan
2018-11-27 23:19 ` Darrick J. Wong
2018-11-28 3:03 ` Eryu Guan
2018-11-28 3:41 ` Darrick J. Wong
2018-11-01 23:19 ` [PATCH 4/8] dump: don't fail if multi-file dumps don't all contain quota info Darrick J. Wong
2018-11-01 23:19 ` [PATCH 5/8] xfs/266: fix restore summary counter when quotas are enabled Darrick J. Wong
2018-11-01 23:19 ` [PATCH 6/8] xfs/205: update for v5 filesystems Darrick J. Wong
2018-11-01 23:19 ` [PATCH 7/8] misc: force the exact quota options coded into the test Darrick J. Wong
2018-11-01 23:19 ` Darrick J. Wong [this message]
2018-11-04 16:01 ` [PATCH 0/8] fstests: fix quota failures on xfs Eryu Guan
2018-11-06 4:54 ` Darrick J. Wong
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=154111439271.6577.9895278106106014415.stgit@magnolia \
--to=darrick.wong@oracle.com \
--cc=fstests@vger.kernel.org \
--cc=guaneryu@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox