Revision 3c705bc9

b/xseg/qa/stress_test.sh
1
#!/bin/bash
2
#
3
# Do some basic stress-testing on xseg
4

  
5
source ../tools/helpers.sh
6

  
7
parse_config
8

  
9
[ -e $1 ] && usage "[nr_times]"
10

  
11
PORTS_AVAIL=$(($PORTS / 2 - 1))
12

  
13
for i in `seq 1 $1`
14
do 
15
	# call some function to do work
16
done
b/xseg/tools/helpers.sh
1
#!/bin/bash
2
#
3
# Setup all the components needed to test xseg
4

  
5
function usage {
6
	echo "`basename $0` $1"
7
	exit 1
8
}
9

  
10
function pretty_print {
11
	echo "======================="
12
	echo "$1"
13
	echo "======================="
14
}
15

  
16
function parse_config {
17
	[ -e .xsegrc ] && source .xsegrc
18

  
19
	[ -e "${XSEG_HOME}"] || XSEG_HOME="/root/archip/xseg/"
20
	[ -e "${MODULES_DIR}"] || MODULES_DIR="${XSEG_HOME}/sys/"
21
	[ -e "${SPEC}" ] || SPEC="xsegdev:xsegbd:128:8192:64:1024:12"
22
	[ -e "${REQS}" ] || REQS=128
23
	[ -e "${PORTS}" ] || PORTS=128
24

  
25
	[ -e "${CHRDEV_NAME}" ] || CHARDEV_NAME="/dev/xsegdev"
26
	[ -e "${CHRDEV_MAJOR}" ] || CHARDEV_MAJOR=60
27
}
28

  
29
function unload_module {
30
	rmmod "$1"
31
}
32

  
33
function unload_all {
34
	unload_module "xsegbd"
35
	unload_module "xsegdev"
36
	rm "${CHARDEV_NAME}"
37
	unload_module "xseg"
38
}
39

  
40
function load_module {
41
	(lsmod | grep "$1" > /dev/null) || insmod "${MODULES_DIR}/$1.ko" "$2" || exit 1
42
}
43

  
44
function mk_chardev {
45
	ls "${CHRDEV_NAME}" &> /dev/null || \
46
	mknod "${CHRDEV_NAME}" c "${CHRDEV_MAJOR}" 0 || exit 1
47
}
48

  
49
function load_all {
50
	load_module "xseg"
51
	load_module "xsegdev"
52
	mk_chardev
53
	load_module "xsegbd" "spec=$SPEC"
54
}
55

  
56
# spawn_blcokd - Spawn a block instance
57
#
58
# @param $1		target/volume name
59
# @param $2		xseg port
60
function spawn_blockd {
61
	"${XSEG_HOME}/peers/blockd" "$1" -p "$2" -g "$SPEC"
62
}
63

  
64
# map_volume - Map a volume to an xsegbd device
65
#
66
# @param $1		target/volume name
67
# @param $2		(blockd) xseg port
68
function map_volume {
69
	echo "$1 $(($2 + PORTS/2)):$2:${REQS}" > /sys/bus/xsegbd/add
70
}
71

  
72
# unmap_device - Unmap an xsegbd device/volume
73
#
74
# @param $1		xsegbd device id
75
function unmap_device {
76
	echo "$1" > /sys/bus/xsegbd/remove
77
}
b/xseg/tools/xseg_cleanup.sh
1
xseg_setup.sh
b/xseg/tools/xseg_setup.sh
1
#!/bin/bash
2
#
3
# Setup/clean all the components needed to test xseg
4
# (behaviour determined by script name)
5

  
6
source helpers.sh
7

  
8
[ -e $1 ] || usage
9

  
10
parse_config
11

  
12
if [ `basename "$0"` == "xseg_setup.sh" ]
13
then
14
	load_all
15
elif [ `basename "$0"` == "xseg_cleanup.sh" ]
16
then
17
	unload_all
18
fi
19

  
20
exit 0

Also available in: Unified diff