Margaret Lewicka
2015-Feb-13 21:26 UTC
[Libguestfs] [PATCH] 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. --- fuse/guestunmount.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/fuse/guestunmount.c b/fuse/guestunmount.c index 3df481b..94c3ec7 100644 --- a/fuse/guestunmount.c +++ b/fuse/guestunmount.c @@ -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); } -- 1.9.3
Richard W.M. Jones
2015-Feb-14 09:40 UTC
Re: [Libguestfs] [PATCH] fuse: Alternatives for Linux-specific commands
Thanks - will push very shortly. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com libguestfs lets you edit virtual machines. Supports shell scripting, bindings from many languages. http://libguestfs.org