X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=mount.c;fp=mount.c;h=646cc30fedc506b965c693fea64566fa7d128b8f;hb=1af9ca2c14f6c65f23244ff7562e069c51326dd8;hp=f995745eb2c07b51de7ebae21812370f67caaeec;hpb=7c8fea849d5a59485daea527106e29e4db0f989b;p=project%2Fmountd.git diff --git a/mount.c b/mount.c index f995745..646cc30 100644 --- a/mount.c +++ b/mount.c @@ -567,23 +567,19 @@ static void mount_dev_add(char *dev) } } -static void mount_dev_del(char *dev) +static void mount_dev_del(struct mount *mount) { - struct mount *mount = mount_find(0, dev); char tmp[256]; - if(mount) - { - if(mount->mounted) - { - snprintf(tmp, 256, "%s%s", "/tmp/run/mountd/", mount->name); - log_printf("%s has dissappeared ... unmounting\n", tmp); - snprintf(tmp, 256, "%s%s", "/tmp/run/mountd/", mount->dev); - system_printf("/bin/umount %s", tmp); - rmdir(tmp); - snprintf(tmp, 64, "%s%s", uci_path, mount->name); - unlink(tmp); - mount_dump_uci_state(); - } + + if (mount->mounted) { + snprintf(tmp, 256, "%s%s", "/tmp/run/mountd/", mount->name); + log_printf("%s has dissappeared ... unmounting\n", tmp); + snprintf(tmp, 256, "%s%s", "/tmp/run/mountd/", mount->dev); + system_printf("/bin/umount %s", tmp); + rmdir(tmp); + snprintf(tmp, 64, "%s%s", uci_path, mount->name); + unlink(tmp); + mount_dump_uci_state(); } } @@ -748,7 +744,7 @@ static void mount_enum_drives(void) } if(!check_block(q->dev)||del) { - mount_dev_del(q->dev); + mount_dev_del(q); p->prev->next = p->next; p->next->prev = p->prev; p = p->next;