diff options
Diffstat (limited to 'contrib/umountd/umountd.c')
-rw-r--r-- | contrib/umountd/umountd.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/contrib/umountd/umountd.c b/contrib/umountd/umountd.c index 42f867d1983..0d2c6f20b60 100644 --- a/contrib/umountd/umountd.c +++ b/contrib/umountd/umountd.c @@ -49,14 +49,20 @@ sanity_check (char *path, dev_t *devp) if (path == NULL) usage (); - if (stat (path, &st) != 0) { - gf_log ("umountd", GF_LOG_ERROR, - "Cannot access %s\n", path, strerror (errno)); - goto out; + if ((ret = stat (path, &st)) != 0) { + switch (errno) { + case ENOTCONN: + /* volume is stopped */ + break; + default: + gf_log ("umountd", GF_LOG_ERROR, + "Cannot access %s\n", path, strerror (errno)); + goto out; + } } /* If dev was not specified, get it from path */ - if (*devp == -1) + if (*devp == -1 && ret == 0) *devp = st.st_dev; strncpy (pathtmp, path, PATH_MAX); |