summaryrefslogtreecommitdiff
path: root/tests/bcachefs/nas_apps.ktest
blob: bfd71e3836e259b871bc5f11882c722a5b1894db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#!/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
require-kernel-config BLK_DEV_NBD
require-kernel-config TARGET_CORE
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 16G
config-scratch-devs 16G
config-scratch-devs 16G
config-scratch-devs 16G
config-scratch-devs 16G
config-scratch-devs 16G
config-scratch-devs 16G
config-scratch-devs 16G
config-scratch-devs 16G
config-scratch-devs 16G

config-timeout $(stress_timeout)

array_setup()
{
    #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
}

array_teardown()
{
    sync
    sleep 5
    umount /mnt
}

test_iscsi()
{
    array_setup

    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

    run_quiet "" iscsiadm -m node --logout
    run_quiet "" targetcli /iscsi delete iqn.2018-05.world.srv:dlp.target01
    run_quiet "" targetcli /backstores/fileio delete disk01

    array_teardown
}

test_minio()
{
    array_setup
    mkdir -p /mnt/data

    env MINIO_ACCESS_KEY=minio MINIO_SECRET_KEY=minio123 minio server /mnt/data &
    sleep 5
    warp mixed --host=127.0.0.1:9000 --access-key=minio --secret-key=minio123

    killall -9 minio

    array_teardown
}

test_nbd()
{
    array_setup

    #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

    array_teardown
}