#include <sys/wait.h>
#include <sys/inotify.h>
#include <sys/mount.h>
-#include <sys/stat.h>
-#include <sys/types.h>
#include <glob.h>
#include <libgen.h>
#include <poll.h>
-#include <dirent.h>
#include <syslog.h>
#include "include/log.h"
{
int id;
struct stat buf;
- char tmp3[64];
+ char tmp3[strlen(namelist[n]->d_name) + strlen(dev) + 31];
int ret;
*t = 0;
id = atoi(namelist[n]->d_name);
*t = ':';
+
sprintf(tmp3, "/sys/bus/scsi/devices/%s/block:%s/", namelist[n]->d_name, dev);
ret = stat(tmp3, &buf);
if(ret)
}
if(!check_block(q->dev)||del)
{
- int err;
-
- err = mount_dev_del(q);
if (q->status == STATUS_MOUNTED || q->status == STATUS_EXPIRED) {
char dev_link[64];
+ int err;
+
+ system_printf("ACTION=remove DEVICE=%s NAME=%s /sbin/hotplug-call mount", q->dev, q->name);
+
+ err = mount_dev_del(q);
snprintf(dev_link, sizeof(dev_link), "%s%s", uci_path, q->name);
if (err == -EBUSY) {
log_printf("unlinking %s\n", dev_link);
unlink(dev_link);
}
- system_printf("ACTION=remove DEVICE=%s NAME=%s /sbin/hotplug-call mount", q->dev, q->name);
}
p->prev->next = p->next;