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:
Denys Vlasenko 2010-08-16 14:26:15 +02:00
parent 867ffb9616
commit f2860bf6d3
2 changed files with 13 additions and 2 deletions

View file

@ -132,6 +132,7 @@ static void make_device(char *path, int delete)
major = -1;
}
}
/* else: for delete, -1 still deletes the node, but < -1 suppresses that */
/* Determine device name, type, major and minor */
device_name = (char*) bb_basename(path);
@ -279,7 +280,7 @@ static void make_device(char *path, int delete)
if (aliaslink == '!' && s == a+1) {
val = st;
/* "!": suppress node creation/deletion */
major = -1;
major = -2;
}
else if (aliaslink == '>' || aliaslink == '=') {
val = st;
@ -379,7 +380,7 @@ static void make_device(char *path, int delete)
free(command);
}
if (delete && major >= 0) {
if (delete && major >= -1) {
if (ENABLE_FEATURE_MDEV_RENAME && alias) {
if (aliaslink == '>')
unlink(device_name);