diff options
-rw-r--r-- | dev.c | 10 | ||||
-rw-r--r-- | svc_dev.c | 3 |
2 files changed, 8 insertions, 5 deletions
@@ -84,10 +84,16 @@ const struct mog_dev *dev, struct mog_svc *svc, int fd, struct statvfs *v) int mog_dev_mkusage(const struct mog_dev *dev, struct mog_svc *svc) { struct statvfs v; - char *usage_path = xasprintf("%s/usage", dev->prefix); - char *tmp_path = xasprintf("%s.%x", usage_path, (unsigned)getpid()); + char *usage_path; + char *tmp_path; int fd = -1; + if (!svc->mgmt_mfd) + return 0; + + usage_path = xasprintf("%s/usage", dev->prefix); + tmp_path = xasprintf("%s.%x", usage_path, (unsigned)getpid()); + if (mog_unlink(svc, tmp_path) < 0 && errno != ENOENT) goto out; errno = 0; @@ -108,9 +108,6 @@ static int svc_scandev(struct mog_svc *svc, size_t *nr, mog_scandev_cb cb) struct dirent *ent; int rc = 0; - if (svc->mgmt_mfd == NULL) - return 0; - CHECK(int, 0, pthread_mutex_lock(&svc->devstats_lock)); svc_init_dev_hash(svc); rewinddir(svc->dir); |