]>
Commit | Line | Data |
---|---|---|
34dc7c2f BB |
1 | #!/bin/bash |
2 | ||
3 | prog=load-zfs.sh | |
4 | . ../.script-config | |
5 | ||
6 | spl_options=$1 | |
7 | zpool_options=$2 | |
8 | ||
9 | spl_module=${SPLBUILD}/modules/spl/spl.ko | |
10 | zlib_module=/lib/modules/${KERNELSRCVER}/kernel/lib/zlib_deflate/zlib_deflate.ko | |
11 | zavl_module=${ZFSBUILD}/lib/libavl/zavl.ko | |
12 | znvpair_module=${ZFSBUILD}/lib/libnvpair/znvpair.ko | |
13 | zport_module=${ZFSBUILD}/lib/libport/zport.ko | |
14 | zcommon_module=${ZFSBUILD}/lib/libzcommon/zcommon.ko | |
15 | zpool_module=${ZFSBUILD}/lib/libzpool/zpool.ko | |
16 | zctl_module=${ZFSBUILD}/lib/libdmu-ctl/zctl.ko | |
17 | zpios_module=${ZFSBUILD}/lib/libzpios/zpios.ko | |
18 | ||
19 | die() { | |
20 | echo "${prog}: $1" >&2 | |
21 | exit 1 | |
22 | } | |
23 | ||
24 | load_module() { | |
25 | echo "Loading $1" | |
26 | /sbin/insmod $* || die "Failed to load $1" | |
27 | } | |
28 | ||
29 | if [ $(id -u) != 0 ]; then | |
30 | die "Must run as root" | |
31 | fi | |
32 | ||
33 | if /sbin/lsmod | egrep -q "^spl|^zavl|^znvpair|^zport|^zcommon|^zlib_deflate|^zpool"; then | |
34 | die "Must start with modules unloaded" | |
35 | fi | |
36 | ||
37 | if [ ! -f ${zavl_module} ] || | |
38 | [ ! -f ${znvpair_module} ] || | |
39 | [ ! -f ${zport_module} ] || | |
40 | [ ! -f ${zcommon_module} ] || | |
41 | [ ! -f ${zpool_module} ]; then | |
42 | die "Source tree must be built, run 'make'" | |
43 | fi | |
44 | ||
45 | load_module ${spl_module} ${spl_options} | |
46 | load_module ${zlib_module} | |
47 | load_module ${zavl_module} | |
48 | load_module ${znvpair_module} | |
49 | load_module ${zport_module} | |
50 | load_module ${zcommon_module} | |
51 | load_module ${zpool_module} ${zpool_options} | |
52 | load_module ${zctl_module} | |
53 | load_module ${zpios_module} | |
54 | ||
55 | sleep 1 | |
56 | echo "Successfully loaded ZFS module stack" | |
57 | ||
58 | exit 0 |