From: Masayoshi Mizuma <m.miz...@jp.fujitsu.com>

Add a new unit test to test max_available_extent namespace.
This feature is implemented by the following patches.

  kernel side:
    https://lists.01.org/pipermail/linux-nvdimm/2018-July/016731.html
    https://lists.01.org/pipermail/linux-nvdimm/2018-July/016732.html

  ndctl side:
    https://lists.01.org/pipermail/linux-nvdimm/2018-July/017176.html

Signed-off-by: Masayoshi Mizuma <m.miz...@jp.fujitsu.com>
---
 test/Makefile.am                |  3 ++-
 test/max_available_extent_ns.sh | 43 +++++++++++++++++++++++++++++++++
 2 files changed, 45 insertions(+), 1 deletion(-)
 create mode 100755 test/max_available_extent_ns.sh

diff --git a/test/Makefile.am b/test/Makefile.am
index 8c55056..9af2464 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -22,7 +22,8 @@ TESTS =\
        firmware-update.sh \
        ack-shutdown-count-set \
        rescan-partitions.sh \
-       monitor.sh
+       monitor.sh \
+       max_available_extent_ns.sh
 
 check_PROGRAMS =\
        libndctl \
diff --git a/test/max_available_extent_ns.sh b/test/max_available_extent_ns.sh
new file mode 100755
index 0000000..beea3bd
--- /dev/null
+++ b/test/max_available_extent_ns.sh
@@ -0,0 +1,43 @@
+#!/bin/bash -Ex
+
+# SPDX-License-Identifier: GPL-2.0
+# Copyright(c) 2018, FUJITSU LIMITED. All rights reserved.
+
+rc=77
+
+. ./common
+
+trap 'err $LINENO' ERR
+
+check_min_kver "4.19" || do_skip "kernel $KVER may not support 
max_available_size"
+
+init()
+{
+       $NDCTL disable-region -b $NFIT_TEST_BUS0 all
+       $NDCTL zero-labels -b $NFIT_TEST_BUS0 all
+       $NDCTL enable-region -b $NFIT_TEST_BUS0 all
+}
+
+do_test()
+{
+       region=$($NDCTL list -b $NFIT_TEST_BUS0 -R -t pmem | jq -r .[].dev | 
head -1)
+
+       available_sz=$($NDCTL list -r $region | jq -r .[].available_size)
+       size=$(( available_sz/4 ))
+
+       NS1=$($NDCTL create-namespace -r $region -t pmem -s $size | jq -r .dev)
+       NS2=$($NDCTL create-namespace -r $region -t pmem -s $size | jq -r .dev)
+       NS3=$($NDCTL create-namespace -r $region -t pmem -s $size | jq -r .dev)
+
+       $NDCTL disable-namespace $NS2
+       $NDCTL destroy-namespace $NS2
+
+       $NDCTL create-namespace -r $region -t pmem
+}
+
+modprobe nfit_test
+rc=1
+init
+do_test
+_cleanup
+exit 0
-- 
2.18.0

_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

Reply via email to