From 0197ce4041f6777394efda8350bf9b29dfb8274b Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Mon, 1 Feb 2010 14:52:30 +0000 Subject: * 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 --- ChangeLog | 10 ++++++++++ configure.in | 2 +- lib/Makefile.am | 2 +- lib/mount_util.c | 25 ++----------------------- 4 files changed, 14 insertions(+), 25 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9e2caf2..133b957 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2010-02-01 Miklos Szeredi + + * Released 2.8.3 + +2010-02-01 Miklos Szeredi + + * 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 + 2010-01-26 Miklos Szeredi * Released 2.8.2 diff --git a/configure.in b/configure.in index d21d3ee..0d939ad 100644 --- a/configure.in +++ b/configure.in @@ -1,4 +1,4 @@ -AC_INIT(fuse, 2.8.2) +AC_INIT(fuse, 2.8.3) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_TARGET AM_INIT_AUTOMAKE 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; } -- cgit v1.2.1