aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGravatar Miklos Szeredi <miklos@szeredi.hu>2010-02-01 14:52:30 +0000
committerGravatar Miklos Szeredi <miklos@szeredi.hu>2010-02-01 14:52:30 +0000
commit0197ce4041f6777394efda8350bf9b29dfb8274b (patch)
treeff04a23dc754c6a6021d1b1b97c4684a99701c05 /lib
parent054635595a6dae38c56a2592d9ecc5987e841afd (diff)
* Released 2.8.3
* Using --no-canonicalize with umount(8) conflicts with the race fix, sinceit assumes the supplied path is absolute, while the race fix relies on the path being relative to the current directory
Diffstat (limited to 'lib')
-rw-r--r--lib/Makefile.am2
-rw-r--r--lib/mount_util.c25
2 files changed, 3 insertions, 24 deletions
diff --git a/lib/Makefile.am b/lib/Makefile.am
index c719cfc..d5ef33b 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -35,7 +35,7 @@ libfuse_la_SOURCES = \
$(iconv_source) \
$(mount_source)
-libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:8:2 \
+libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:8:3 \
-Wl,--version-script,$(srcdir)/fuse_versionscript
libulockmgr_la_SOURCES = ulockmgr.c
diff --git a/lib/mount_util.c b/lib/mount_util.c
index e18e7a4..33e6697 100644
--- a/lib/mount_util.c
+++ b/lib/mount_util.c
@@ -190,7 +190,6 @@ static int exec_umount(const char *progname, const char *rel_mnt, int lazy)
int status;
sigset_t blockmask;
sigset_t oldmask;
- int legacy = 0;
sigemptyset(&blockmask);
sigaddset(&blockmask, SIGCHLD);
@@ -200,32 +199,16 @@ static int exec_umount(const char *progname, const char *rel_mnt, int lazy)
return -1;
}
-retry_umount:
res = fork();
if (res == -1) {
fprintf(stderr, "%s: fork: %s\n", progname, strerror(errno));
goto out_restore;
}
if (res == 0) {
- /*
- * Hide output, because old versions don't support
- * --no-canonicalize
- */
- if (!legacy) {
- int fd = open("/dev/null", O_RDONLY);
- dup2(fd, 1);
- dup2(fd, 2);
- }
-
sigprocmask(SIG_SETMASK, &oldmask, NULL);
setuid(geteuid());
- if (legacy) {
- execl("/bin/umount", "/bin/umount", "-i", rel_mnt,
- lazy ? "-l" : NULL, NULL);
- } else {
- execl("/bin/umount", "/bin/umount", "--no-canonicalize",
- "-i", rel_mnt, lazy ? "-l" : NULL, NULL);
- }
+ execl("/bin/umount", "/bin/umount", "-i", rel_mnt,
+ lazy ? "-l" : NULL, NULL);
fprintf(stderr, "%s: failed to execute /bin/umount: %s\n",
progname, strerror(errno));
exit(1);
@@ -235,10 +218,6 @@ retry_umount:
fprintf(stderr, "%s: waitpid: %s\n", progname, strerror(errno));
if (status != 0) {
- if (!legacy) {
- legacy = 1;
- goto retry_umount;
- }
res = -1;
}