fuse: Alternatives for Linux-specific commands

* fusermount is Linux-only; on BSD and OS X umount should be used
* fuser has no -v flag on BSD/OSX, and -c is the
  POSIX-compatible equivalent of -m
* Does not solve the lack of pretty output of fuser -v, but does make it
  work on Mac OS X.
This commit is contained in:
Margaret Lewicka
2015-02-13 21:26:14 +00:00
committed by Richard W.M. Jones
parent 88d16e6fb9
commit 5f67d23cf5

View File

@@ -257,7 +257,12 @@ do_fusermount (const char *mountpoint, char **error_rtn)
/* We have to parse error messages from fusermount, so ... */
setenv ("LC_ALL", "C", 1);
#ifdef __linux__
execlp ("fusermount", "fusermount", "-u", mountpoint, NULL);
#else
/* use umount where fusermount is not available */
execlp ("umount", "umount", mountpoint, NULL);
#endif
perror ("exec");
_exit (EXIT_FAILURE);
}
@@ -334,7 +339,11 @@ do_fuser (const char *mountpoint)
}
if (pid == 0) { /* Child - run /sbin/fuser. */
#ifdef __linux__
execlp ("/sbin/fuser", "fuser", "-v", "-m", mountpoint, NULL);
#else
execlp ("/sbin/fuser", "fuser", "-c", mountpoint, NULL);
#endif
_exit (EXIT_FAILURE);
}