]>
Commit | Line | Data |
---|---|---|
11fdf7f2 TL |
1 | # Prints error message and return error code, closes vhost app and remove |
2 | # pmem pool file | |
3 | # input: error message, error code | |
f67539c2 | 4 | function error() { |
11fdf7f2 TL |
5 | local error_code=${2:-1} |
6 | echo "===========" | |
7 | echo -e "ERROR: $1" | |
8 | echo "error code: $error_code" | |
9 | echo "===========" | |
f67539c2 | 10 | vhost_kill 0 |
11fdf7f2 TL |
11 | pmem_clean_pool_file |
12 | return $error_code | |
13 | } | |
14 | ||
15 | # check if there is pool file & remove it | |
16 | # input: path to pool file | |
f67539c2 TL |
17 | # default: $default_pool_file |
18 | function pmem_clean_pool_file() { | |
19 | local pool_file=${1:-$default_pool_file} | |
11fdf7f2 TL |
20 | |
21 | if [ -f $pool_file ]; then | |
22 | echo "Deleting old pool_file" | |
23 | rm $pool_file | |
24 | fi | |
25 | } | |
26 | ||
27 | # create new pmem file | |
28 | # input: path to pool file, size in MB, block_size | |
f67539c2 TL |
29 | # default: $default_pool_file 32 512 |
30 | function pmem_create_pool_file() { | |
31 | local pool_file=${1:-$default_pool_file} | |
11fdf7f2 TL |
32 | local size=${2:-32} |
33 | local block_size=${3:-512} | |
34 | ||
35 | pmem_clean_pool_file $pool_file | |
36 | echo "Creating new pool file" | |
f67539c2 | 37 | if ! $rpc_py bdev_pmem_create_pool $pool_file $size $block_size; then |
11fdf7f2 TL |
38 | error "Creating pool_file failed!" |
39 | fi | |
40 | ||
41 | if [ ! -f $pool_file ]; then | |
42 | error "Creating pool_file failed!" | |
43 | fi | |
44 | } | |
45 | ||
f67539c2 TL |
46 | function pmem_unmount_ramspace() { |
47 | if [ -d "$testdir/ramspace" ]; then | |
48 | if mount | grep -q "$testdir/ramspace"; then | |
49 | umount $testdir/ramspace | |
11fdf7f2 TL |
50 | fi |
51 | ||
f67539c2 | 52 | rm -rf $testdir/ramspace |
11fdf7f2 TL |
53 | fi |
54 | } | |
55 | ||
f67539c2 | 56 | function pmem_print_tc_name() { |
11fdf7f2 TL |
57 | echo "" |
58 | echo "===============================================================" | |
59 | echo "Now running: $1" | |
60 | echo "===============================================================" | |
61 | } | |
62 | ||
f67539c2 | 63 | function vhost_start() { |
11fdf7f2 TL |
64 | local vhost_pid |
65 | ||
f67539c2 | 66 | $SPDK_BIN_DIR/vhost & |
11fdf7f2 TL |
67 | |
68 | vhost_pid=$! | |
f67539c2 | 69 | echo $vhost_pid > $testdir/vhost.pid |
11fdf7f2 TL |
70 | waitforlisten $vhost_pid |
71 | } | |
72 | ||
f67539c2 TL |
73 | function vhost_kill() { |
74 | local vhost_pid_file="$testdir/vhost.pid" | |
75 | local vhost_pid | |
76 | vhost_pid="$(cat $vhost_pid_file)" | |
11fdf7f2 | 77 | |
f67539c2 | 78 | if [[ ! -f $vhost_pid_file ]]; then |
11fdf7f2 TL |
79 | echo -e "ERROR: No vhost pid file found!" |
80 | return 1 | |
81 | fi | |
82 | ||
83 | if ! kill -s INT $vhost_pid; then | |
84 | echo -e "ERROR: Failed to exit vhost / invalid pid!" | |
85 | rm $vhost_pid_file | |
86 | return 1 | |
87 | fi | |
88 | ||
89 | sleep 1 | |
90 | rm $vhost_pid_file | |
91 | } |