@@ -312,6 +312,7 @@ _qmount_option()
-e 's/grpjquota=[^, ]*/QUOTA/g' \
-e 's/\bpquota/QUOTA/g' \
-e 's/prjquota/QUOTA/g' \
+ -e 's/noquota/QUOTA/g' \
-e 's/quota/QUOTA/g' \
-e 's/uqnoenforce/QUOTA/g' \
-e 's/gqnoenforce/QUOTA/g' \
@@ -3531,6 +3531,7 @@ _get_os_name()
_link_out_file_named()
{
test -n "$seqfull" || _fail "need to set seqfull"
+ test -r "$seqfull.cfg" || _fail "need $seqfull.cfg"
local features=$2
local suffix=$(FEATURES="$features" perl -e '
@@ -1689,6 +1689,9 @@ _xfs_filter_mkfs()
print STDERR "ldev=\"$1\"\nlbsize=$2\nlblocks=$3\nlversion=$4\n";
print STDOUT "log =LDEV bsize=XXX blocks=XXX\n";
}
+ if (/^\s+=\s+exchange=(\d+)\s+metadir=(\d+)/) {
+ print STDERR "exchange=$1\nmetadir=$2\n\n";
+ }
if (/^\s+=\s+sectsz=(\d+)\s+sunit=(\d+) blks/) {
print STDERR "logsectsz=$1\nlogsunit=$2\n\n";
}
@@ -47,7 +47,7 @@ do_test()
# This takes care of newer kernels where quotaoff clears the superblock
# quota enforcement flags but doesn't shut down accounting.
_scratch_unmount
- _qmount_option ""
+ _qmount_option "noquota"
_scratch_mount
rm_commands=(-x -c "remove -$off_opts")
@@ -28,6 +28,7 @@ function option_string()
if [ "$((VAL & 4))" -ne "0" ]; then OPT=prjquota,${OPT}; fi;
if [ "$((VAL & 2))" -ne "0" ]; then OPT=grpquota,${OPT}; fi;
if [ "$((VAL & 1))" -ne "0" ]; then OPT=usrquota,${OPT}; fi;
+ if [ "$VAL" = "0" ]; then OPT=noquota; fi;
echo $OPT
}
@@ -1,5 +1,5 @@
QA output created by 096
-== Options: rw ==
+== Options: noquota ==
== Options: usrquota,rw ==
User quota state on SCRATCH_MNT (SCRATCH_DEV)
Accounting: ON
@@ -155,7 +155,7 @@ test_off()
{
echo "turning quota off by remounting"
_scratch_unmount
- _qmount_option ""
+ _qmount_option "noquota"
_qmount
}
@@ -23,7 +23,18 @@ _require_xfs_quota
# Only mount with the quota options we specify below
_qmount_option "defaults"
-_scratch_mkfs >/dev/null 2>&1
+_scratch_mkfs_xfs | _filter_mkfs 2>$tmp.mkfs >/dev/null
+. $tmp.mkfs
+cat $tmp.mkfs >> $seqres.full
+
+# link correct .out file, see $seqfull.cfg
+seqfull=$0
+if [ "$metadir" = 1 ]; then
+ _link_out_file_named $seqfull.out "metadir"
+else
+ _link_out_file_named $seqfull.out
+fi
+
_scratch_mount "-o uquota"
_scratch_unmount
_scratch_xfs_db -r -c sb -c print | grep qflags
new file mode 100644
@@ -0,0 +1 @@
+metadir: metadir
similarity index 100%
rename from tests/xfs/116.out
rename to tests/xfs/116.out.default
new file mode 100644
@@ -0,0 +1,3 @@
+QA output created by 116
+qflags = 0x7
+qflags = 0x7
@@ -194,7 +194,7 @@ test_off()
{
echo "checking off command (type=$type)"
_scratch_unmount
- _qmount_option ""
+ _qmount_option "noquota"
_qmount
}
@@ -158,6 +158,19 @@ post_exercise()
return 0
}
+qerase_mkfs_options() {
+ echo "$MKFS_OPTIONS" | sed \
+ -e 's/uquota//g' \
+ -e 's/gquota//g' \
+ -e 's/pquota//g' \
+ -e 's/uqnoenforce//g' \
+ -e 's/gqnoenforce//g' \
+ -e 's/pqnoenforce//g' \
+ -e 's/,,*/,/g'
+}
+
+MKFS_OPTIONS="$(qerase_mkfs_options)"
+
# Create a list of fs features in the order that support for them was added
# to the kernel driver. For each feature upgrade test, we enable all the
# features that came before it and none of the ones after, which means we're
@@ -27,6 +27,7 @@ function option_string()
if [ "$((VAL & 4))" -ne "0" ]; then OPT=prjquota,${OPT}; fi;
if [ "$((VAL & 2))" -ne "0" ]; then OPT=grpquota,${OPT}; fi;
if [ "$((VAL & 1))" -ne "0" ]; then OPT=usrquota,${OPT}; fi;
+ if [ "$VAL" = "0" ]; then OPT=noquota; fi;
echo $OPT
}
@@ -1,5 +1,5 @@
QA output created by 263
-== Options: rw ==
+== Options: noquota ==
== Options: usrquota,rw ==
User quota state on SCRATCH_MNT (SCRATCH_DEV)
Accounting: ON