3 # Copyright (C) 2018 Karel Zak <kzak@redhat.com>
5 # This script makes a copy of relevant files from /sys and /proc.
6 # The files are useful for lsblk(1) regression tests.
8 progname
=$
(basename $0)
11 echo -e "\nusage: $progname <testname>\n"
16 TS_NAME
=$
(basename ${TS_DUMP})
17 TS_TARBALL
="$TS_DUMP.tar.xz"
18 TS_CMD_LSBLK
=${TS_CMD_LSBLK:-"lsblk"}
23 mkdir
-p $TS_DUMP/proc
24 mkdir
-p $TS_DUMP/proc
/self
25 cp /proc
/self
/mountinfo
${TS_DUMP}/proc
/self
26 cp /proc
/swaps
${TS_DUMP}/proc
/swaps
27 cp /proc
/version
${TS_DUMP}/proc
/version
33 mkdir
-p $TS_DUMP/sys
/{block
,dev
/block
}
34 cp --no-dereference /sys
/dev
/block
/* ${TS_DUMP}/sys
/dev
/block
35 cp --no-dereference /sys
/block
/* ${TS_DUMP}/sys
/block
37 DEVS
=$
(find /sys
/dev
/block
/ -type l
)
39 DEV
="/sys/dev/block/$(readlink $x)"
41 mkdir
-p ${TS_DUMP}/${DEV}
44 for f
in $
(find ${DEV} -type f
-not -path '*/trace/*' -not -path '*/uevent'); do
45 if [ ! -f ${TS_DUMP}/${f} ]; then
47 mkdir
-p ${TS_DUMP}/${SUB}
48 cp $f ${TS_DUMP}/$f 2> /dev
/null
52 # symlinks (slave, holders, etc.)
53 for f
in $
(find ${DEV} -type l
-not -path '*/subsystem' -not -path '*/bdi'); do
54 if [ ! -f ${TS_DUMP}/${f} ]; then
56 mkdir
-p ${TS_DUMP}/${SUB}
57 cp --no-dereference $f ${TS_DUMP}/$f
62 if [ -d ${DEV}/device
/ ]; then
63 for f
in $
(find ${DEV}/device
/ -maxdepth 1 -type f
-not -path '*/uevent'); do
64 if [ ! -f ${TS_DUMP}/${f} ]; then
66 cp $f ${TS_DUMP}/$f 2> /dev
/null
75 local cols
="NAME,${2}"
78 echo "$cols" > ${TS_DUMP}/${subname}.cols
79 $TS_CMD_LSBLK -o ${cols} > ${TS_DUMP}/lsblk-${TS_NAME}-${subname}
88 export LANG LANGUAGE LC_ALL CHARSET
93 $TS_CMD_LSBLK -V &> ${TS_DUMP}/version
95 mk_output basic KNAME
,MAJ
:MIN
,RM
,SIZE
,TYPE
,MOUNTPOINT
96 mk_output vendor MODEL
,VENDOR
,REV
97 mk_output state RO
,RM
,HOTPLUG
,RAND
,STATE
,ROTA
,TYPE
,PKNAME
,SCHED
99 mk_output topo SIZE
,ALIGNMENT
,MIN-IO
,OPT-IO
,PHY-SEC
,LOG-SEC
,RQ-SIZE
100 mk_output discard DISC-ALN
,DISC-GRAN
,DISC-MAX
,DISC-ZERO
104 tar --xz -cvf ${TS_TARBALL} $TS_DUMP
107 echo -e "\nPlease, send ${TS_TARBALL} to util-linux upstream. Thanks!\n"