+2007-11-12 Miklos Szeredi <miklos@szeredi.hu>
+
+ * 'fusermount -u' did not umount the filesystem if /etc/mtab was a
+ symlink. This bug was introduced in 2.7.1 by "Don't call
+ /bin/[u]mount if /etc/mtab is a symlink". Found by robertsong.
+
2007-10-16 Miklos Szeredi <miklos@szeredi.hu>
* Released 2.7.1
#include <mntent.h>
#include <sys/stat.h>
#include <sys/wait.h>
+#include <sys/mount.h>
static int mtab_needs_update(const char *mnt)
{
int res;
int status;
- if (!mtab_needs_update(mnt))
- return 0;
+ if (!mtab_needs_update(mnt)) {
+ res = umount2(mnt, lazy ? 2 : 0);
+ if (res == -1)
+ fprintf(stderr, "%s: failed to unmount %s: %s\n", progname,
+ mnt, strerror(errno));
+ return res;
+ }
res = fork();
if (res == -1) {