new file mode 100755
@@ -0,0 +1,88 @@
+#! /bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2019 SUSE LLC. All Rights Reserved.
+#
+# FS QA Test No. 001
+#
+# Test basic ceph.quota.max_files quota features.
+#
+
+seq=`basename $0`
+seqres=$RESULT_DIR/$seq
+echo "QA output created by $seq"
+
+workdir=$TEST_DIR/$seq
+
+tmp=/tmp/$$
+status=1 # failure is the default!
+trap "_cleanup; exit \$status" 0 1 2 3 15
+
+_cleanup()
+{
+ cd /
+ rm -rf $tmp.*
+}
+
+# get standard environment, filters and checks
+. ./common/rc
+. ./common/filter
+. ./common/attr
+
+# real QA test starts here
+_supported_os Linux
+_supported_fs ceph
+
+_require_attrs
+
+set_quota()
+{
+ local val=$1
+ local dir=$2
+ $SETFATTR_PROG -n ceph.quota.max_files -v $val $dir >>$seqres.full 2>&1
+}
+get_quota()
+{
+ local dir=$1
+ _getfattr -n ceph.quota.max_files --absolute-names $dir \
+ 2>>$seqres.full | _filter_test_dir
+}
+
+rm -f $seqres.full
+rm -rf $workdir
+mkdir $workdir
+
+# test setting quota
+set_quota 10 $workdir
+get_quota $workdir
+
+# set quota to largest acceptable value (0x7FFFFFFFFFFFFFFF)
+set_quota 9223372036854775807 $workdir
+get_quota $workdir
+
+# test resetting quota
+set_quota 0 $workdir
+get_quota $workdir
+
+# set quota to invalid values (0x8000000000000000 and -1)
+set_quota 9223372036854775808 $workdir
+get_quota $workdir
+
+set_quota -1 $workdir
+get_quota $workdir
+
+set_quota 5 $workdir
+mkdir $workdir/0
+touch $workdir/0/1
+touch $workdir/0/2
+touch $workdir/3
+
+touch $workdir/4 2>&1 | _filter_test_dir # should fail
+mkdir $workdir/5 2>&1 | _filter_test_dir # should fail
+
+set_quota 0 $workdir
+touch $workdir/4 # shouldn't fail
+mkdir $workdir/5 # shouldn't fail
+
+# success, all done
+status=0
+exit
new file mode 100644
@@ -0,0 +1,9 @@
+QA output created by 001
+# file: TEST_DIR/001
+ceph.quota.max_files="10"
+
+# file: TEST_DIR/001
+ceph.quota.max_files="9223372036854775807"
+
+touch: cannot touch 'TEST_DIR/001/4': Disk quota exceeded
+mkdir: cannot create directory 'TEST_DIR/001/5': Disk quota exceeded
new file mode 100644
@@ -0,0 +1,20 @@
+#
+# Copyright (c) 2019 SUSE LLC. All Rights Reserved.
+#
+
+TOPDIR = ../..
+include $(TOPDIR)/include/builddefs
+
+CEPHFS_DIR = cephfs
+TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(CEPHFS_DIR)
+
+include $(BUILDRULES)
+
+install:
+ $(INSTALL) -m 755 -d $(TARGET_DIR)
+ $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
+ $(INSTALL) -m 644 group $(TARGET_DIR)
+ $(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR)
+
+# Nothing.
+install-dev install-lib:
new file mode 100644
@@ -0,0 +1 @@
+001 auto quick quota
Simple set of checks for CephFS max_files directory quota implementation. Signed-off-by: Luis Henriques <lhenriques@suse.com> --- tests/ceph/001 | 88 +++++++++++++++++++++++++++++++++++++++++++++ tests/ceph/001.out | 9 +++++ tests/ceph/Makefile | 20 +++++++++++ tests/ceph/group | 1 + 4 files changed, 118 insertions(+) create mode 100755 tests/ceph/001 create mode 100644 tests/ceph/001.out create mode 100644 tests/ceph/Makefile create mode 100644 tests/ceph/group