mirror of
https://github.com/sheumann/hush.git
synced 2024-12-23 20:29:42 +00:00
mdev: fix non-working device deletion, add a test for that
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
867ffb9616
commit
f2860bf6d3
@ -37,6 +37,16 @@ brw-rw---- 1 0 0 8,0 sda
|
|||||||
"" ""
|
"" ""
|
||||||
SKIP=
|
SKIP=
|
||||||
|
|
||||||
|
# continuing to use directory structure from prev test
|
||||||
|
optional STATIC FEATURE_MDEV_CONF FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME
|
||||||
|
testing "mdev deletes /block/sda" \
|
||||||
|
"env - PATH=$PATH ACTION=remove DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1;
|
||||||
|
ls -ln mdev.testdir/dev | $FILTER_LS" \
|
||||||
|
"\
|
||||||
|
" \
|
||||||
|
"" ""
|
||||||
|
SKIP=
|
||||||
|
|
||||||
# continuing to use directory structure from prev test
|
# continuing to use directory structure from prev test
|
||||||
rm -rf mdev.testdir/dev/*
|
rm -rf mdev.testdir/dev/*
|
||||||
echo ".* 1:1 666" >mdev.testdir/etc/mdev.conf
|
echo ".* 1:1 666" >mdev.testdir/etc/mdev.conf
|
||||||
|
@ -132,6 +132,7 @@ static void make_device(char *path, int delete)
|
|||||||
major = -1;
|
major = -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* else: for delete, -1 still deletes the node, but < -1 suppresses that */
|
||||||
|
|
||||||
/* Determine device name, type, major and minor */
|
/* Determine device name, type, major and minor */
|
||||||
device_name = (char*) bb_basename(path);
|
device_name = (char*) bb_basename(path);
|
||||||
@ -279,7 +280,7 @@ static void make_device(char *path, int delete)
|
|||||||
if (aliaslink == '!' && s == a+1) {
|
if (aliaslink == '!' && s == a+1) {
|
||||||
val = st;
|
val = st;
|
||||||
/* "!": suppress node creation/deletion */
|
/* "!": suppress node creation/deletion */
|
||||||
major = -1;
|
major = -2;
|
||||||
}
|
}
|
||||||
else if (aliaslink == '>' || aliaslink == '=') {
|
else if (aliaslink == '>' || aliaslink == '=') {
|
||||||
val = st;
|
val = st;
|
||||||
@ -379,7 +380,7 @@ static void make_device(char *path, int delete)
|
|||||||
free(command);
|
free(command);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (delete && major >= 0) {
|
if (delete && major >= -1) {
|
||||||
if (ENABLE_FEATURE_MDEV_RENAME && alias) {
|
if (ENABLE_FEATURE_MDEV_RENAME && alias) {
|
||||||
if (aliaslink == '>')
|
if (aliaslink == '>')
|
||||||
unlink(device_name);
|
unlink(device_name);
|
||||||
|
Loading…
Reference in New Issue
Block a user