forked from linux-blktests/blktests
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path011
More file actions
executable file
·74 lines (62 loc) · 1.46 KB
/
011
File metadata and controls
executable file
·74 lines (62 loc) · 1.46 KB
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
#!/bin/bash
# SPDX-License-Identifier: GPL-3.0+
# Copyright (C) 2025 Google LLC
. tests/scsi/rc
. common/null_blk
. common/scsi_debug
DESCRIPTION="test data lifetime propagation"
QUICK=1
requires() {
_have_fio
_have_driver f2fs
# See also commit 7643f3fe2772 ("f2fs: assign the write hint per stream
# by default"; v6.10).
_have_kver 6 10
_have_program mkfs.f2fs
_have_scsi_debug_group_number_stats
_page_size_equals 4096
}
run_test() {
set -e
local scsi_debug_params=(
delay=0
dev_size_mb=1024
sector_size=4096
)
_configure_scsi_debug "${scsi_debug_params[@]}"
local dev="/dev/${SCSI_DEBUG_DEVICES[0]}" fail
ls -ld "${dev}" >>"${FULL}"
mkfs.f2fs "${dev}" >>"${FULL}" 2>&1
mkdir -p "${mount_dir}"
mount -t f2fs "${dev}" "${mount_dir}"
local fio_args=(
--size=1M
--directory="${mount_dir}"
--time_based
--runtime=10
)
set +e
_run_fio_verify_io "${fio_args[@]}" >>"${FULL}" 2>&1
}
test() {
echo "Running ${TEST_NAME}"
# A global variable because it is also used in run_test().
mount_dir="$TMPDIR/mnt"
(
run_test
)
# shellcheck disable=SC2181
(($? != 0)) && fail=true
umount "${mount_dir}" >>"${FULL}" 2>&1
head -n 999 /sys/bus/pseudo/drivers/scsi_debug/group_number_stats >> "${FULL}"
while read -r group count; do
if [ "$count" -gt 0 ]; then echo "$group"; fi
done < /sys/bus/pseudo/drivers/scsi_debug/group_number_stats
_exit_scsi_debug
if [ -z "$fail" ]; then
echo "Test complete"
else
echo "Test failed"
return 1
fi
}