diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2010-02-01 14:52:30 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2010-02-01 14:52:30 +0000 |
commit | 0197ce4041f6777394efda8350bf9b29dfb8274b (patch) | |
tree | ff04a23dc754c6a6021d1b1b97c4684a99701c05 | |
parent | 054635595a6dae38c56a2592d9ecc5987e841afd (diff) | |
download | fuse-0197ce4041f6777394efda8350bf9b29dfb8274b.tar.gz |
* 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
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | lib/Makefile.am | 2 | ||||
-rw-r--r-- | lib/mount_util.c | 25 |
4 files changed, 14 insertions, 25 deletions
@@ -1,3 +1,13 @@ +2010-02-01 Miklos Szeredi <miklos@szeredi.hu> + + * Released 2.8.3 + +2010-02-01 Miklos Szeredi <miklos@szeredi.hu> + + * 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 <miklos@szeredi.hu> * 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; } |