summaryrefslogtreecommitdiff
path: root/tests/bcachefs/nas_apps.ktest
diff options
context:
space:
mode:
authorRobbie Litchfield <blam.kiwi@gmail.com>2020-12-08 16:26:20 +1300
committerRobbie Litchfield <blam.kiwi@gmail.com>2020-12-08 17:00:48 +1300
commit505c5756ad4c2bc43d0d199a1e9a26a1298eae1f (patch)
treea8fb4334ad6774b1360824d45c89c0558caebd49 /tests/bcachefs/nas_apps.ktest
parent829def1df01ff7445c65bbdf360ae925d71da6ab (diff)
Add tests for common NAS applications
Diffstat (limited to 'tests/bcachefs/nas_apps.ktest')
-rw-r--r--tests/bcachefs/nas_apps.ktest117
1 files changed, 117 insertions, 0 deletions
diff --git a/tests/bcachefs/nas_apps.ktest b/tests/bcachefs/nas_apps.ktest
new file mode 100644
index 0000000..dca57b2
--- /dev/null
+++ b/tests/bcachefs/nas_apps.ktest
@@ -0,0 +1,117 @@
+#!/bin/bash
+
+require-lib bcachefs-test-libs.sh
+
+require-kernel-config MD
+require-kernel-config BLK_DEV_MD
+require-kernel-config MD_FAULTY
+require-kernel-config NET
+require-kernel-config BLK_DEV_NBD
+require-kernel-config TCM_IBLOCK
+require-kernel-config TCM_FILEIO
+require-kernel-config TCM_PSCSI
+require-kernel-config LOOPBACK_TARGET
+require-kernel-config ISCSI_TARGET
+require-kernel-config ISCSI_TCP
+require-kernel-config SCSI_ISCSI_ATTRS
+require-kernel-config SCSI_LOWLEVEL
+
+config-scratch-devs 4G
+config-scratch-devs 4G
+config-scratch-devs 4G
+config-scratch-devs 4G
+config-scratch-devs 4G
+config-scratch-devs 4G
+config-scratch-devs 4G
+config-scratch-devs 4G
+config-scratch-devs 4G
+config-scratch-devs 4G
+
+config-timeout $(stress_timeout)
+
+test_iscsi()
+{
+ #echo 1 > /sys/module/bcachefs/parameters/force_reconstruct_read
+ #echo 1 > /sys/module/bcachefs/parameters/debug_check_bkeys
+
+ run_quiet "" bcachefs format -f \
+ --errors=panic \
+ --erasure_code \
+ --replicas=3 \
+ /dev/sd[bcdefghijk]
+ devs=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde:/dev/sdf:/dev/sdg:/dev/sdh:/dev/sdi:/dev/sdj:/dev/sdk
+
+ mount -t bcachefs $devs /mnt
+
+ local initiatorname=$(grep InitiatorName= /etc/iscsi/initiatorname.iscsi | cut -f2- -d=)
+
+ run_quiet "" targetcli /backstores/fileio create disk01 /mnt/foo 10G
+ run_quiet "" targetcli /iscsi create iqn.2018-05.world.srv:dlp.target01
+ run_quiet "" targetcli /iscsi/iqn.2018-05.world.srv:dlp.target01/tpg1/luns create /backstores/fileio/disk01
+ run_quiet "" targetcli /iscsi/iqn.2018-05.world.srv:dlp.target01/tpg1/acls create $initiatorname
+ run_quiet "" targetcli /iscsi/iqn.2018-05.world.srv:dlp.target01/tpg1 set attribute authentication=0
+
+ run_quiet "" iscsiadm -m discovery -t sendtargets -p 127.0.0.1
+ run_quiet "" iscsiadm -m node --login
+
+ run_fio_randrw --filename=/dev/sdl
+
+ umount /mnt
+}
+
+
+test_minio()
+{
+ #echo 1 > /sys/module/bcachefs/parameters/force_reconstruct_read
+ #echo 1 > /sys/module/bcachefs/parameters/debug_check_bkeys
+
+ run_quiet "" bcachefs format -f \
+ --errors=panic \
+ --erasure_code \
+ --replicas=3 \
+ /dev/sd[bcdefghijk]
+ devs=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde:/dev/sdf:/dev/sdg:/dev/sdh:/dev/sdi:/dev/sdj:/dev/sdk
+
+ mount -t bcachefs $devs /mnt
+ mkdir -p /mnt/data
+
+ run_quiet "" MINIO_ACCESS_KEY=minio MINIO_SECRET_KEY=minio123 minio server /mnt/data &
+ local miniopid=$!
+ sleep 5
+ run_quiet "" warp mixed --host=127.0.0.1:9000 --access-key=minio --secret-key=minio123
+ kill $miniopid
+
+ umount /mnt
+}
+
+
+test_nbd()
+{
+ #echo 1 > /sys/module/bcachefs/parameters/force_reconstruct_read
+ #echo 1 > /sys/module/bcachefs/parameters/debug_check_bkeys
+
+ run_quiet "" bcachefs format -f \
+ --errors=panic \
+ --erasure_code \
+ --replicas=3 \
+ /dev/sd[bcdefghijk]
+ devs=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde:/dev/sdf:/dev/sdg:/dev/sdh:/dev/sdi:/dev/sdj:/dev/sdk
+
+ mount -t bcachefs $devs /mnt
+
+ #enable_memory_faults
+ dd if=/dev/zero of=/mnt/foo bs=1M count=8192 oflag=sync
+ chmod 777 /mnt/foo
+ #disable_memory_faults
+
+ modprobe nbd
+ nbd-server 1037 /mnt/foo
+ nbd-client 127.0.0.1 1037 /dev/nbd0
+
+ run_fio_randrw --filename=/dev/nbd0
+
+ nbd-client -d /dev/nbd0
+ killall -9 nbd-server
+ umount /mnt
+}
+