File tree Expand file tree Collapse file tree 4 files changed +7
-1
lines changed Expand file tree Collapse file tree 4 files changed +7
-1
lines changed Original file line number Diff line number Diff line change 1
1
#! /bin/sh
2
2
3
3
# Mark all available block devices as read-only (except loop devices)
4
- for device in /dev/* ; do
4
+ for device in /dev/* /dev/ * / * ; do
5
5
if [ ! -h " $device " ] && [ -b " $device " ] && [ ! -z ${device##/ dev/ loop* } ]; then
6
6
# Check if medium is present
7
7
if blockdev --getsz " $device " > /dev/null 2>&1 ; then
Original file line number Diff line number Diff line change @@ -9,9 +9,11 @@ bdev="$1"
9
9
blockdev --setro " /dev/$bdev " || logger " wrtblk: blockdev --setro /dev/$bdev failed!"
10
10
11
11
# Mark a parent block device as read-only
12
+ bdev=$( echo " $bdev " | sed ' s/\//!/g' )
12
13
syspath=$( echo /sys/block/* /" $bdev " )
13
14
[ " $syspath " = " /sys/block/*/$bdev " ] && exit
14
15
dir=${syspath%/* }
15
16
parent=${dir##*/ }
17
+ parent=$( echo " $parent " | sed ' s/!/\//g' )
16
18
[ -b " /dev/$parent " ] || exit
17
19
blockdev --setro " /dev/$parent " || logger " wrtblk: blockdev --setro /dev/$parent failed!"
Original file line number Diff line number Diff line change @@ -9,9 +9,11 @@ bdev="$1"
9
9
blockdev --setrw " /dev/$bdev " || logger " wrtblk: blockdev --setrw /dev/$bdev failed!"
10
10
11
11
# Mark a parent block device as read-write
12
+ bdev=$( echo " $bdev " | sed ' s/\//!/g' )
12
13
syspath=$( echo /sys/block/* /" $bdev " )
13
14
[ " $syspath " = " /sys/block/*/$bdev " ] && exit
14
15
dir=${syspath%/* }
15
16
parent=${dir##*/ }
17
+ parent=$( echo " $parent " | sed ' s/!/\//g' )
16
18
[ -b " /dev/$parent " ] || exit
17
19
blockdev --setrw " /dev/$parent " || logger " wrtblk: blockdev --setrw /dev/$parent failed!"
Original file line number Diff line number Diff line change @@ -9,10 +9,12 @@ bdev="$1"
9
9
blockdev --setro " /dev/$bdev " || logger " wrtblk: blockdev --setro /dev/$bdev failed!"
10
10
11
11
# Mark all child block devices as read-only
12
+ bdev=$( echo " $bdev " | sed ' s/\//!/g' )
12
13
for child in /sys/block/" $bdev " /* /dev; do
13
14
dir=${child%/* }
14
15
partition=${dir##*/ }
15
16
[ " $partition " = ' *' ] && break
17
+ partition=$( echo " $partition " | sed ' s/!/\//g' )
16
18
[ -b " /dev/$partition " ] || continue
17
19
blockdev --setro " /dev/$partition " || logger " wrtblk: blockdev --setro /dev/$partition failed!"
18
20
done
You can’t perform that action at this time.
0 commit comments