* Released 2.8.3
authorMiklos Szeredi <miklos@szeredi.hu>
Mon, 1 Feb 2010 14:52:30 +0000 (14:52 +0000)
committerMiklos Szeredi <miklos@szeredi.hu>
Mon, 1 Feb 2010 14:52:30 +0000 (14:52 +0000)
* 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
configure.in
lib/Makefile.am
lib/mount_util.c

index 9e2caf28b3bc5f48bc173dbc1ea5fec529c0e452..133b957711c6caca021ca8db99ec2a4b6822be10 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
index d21d3ee5d9fbca242a8fd27fec93b1da6f830d56..0d939ad9336c2970dbbd38cc3865f697c68b2244 100644 (file)
@@ -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
index c719cfc2aa8f0328a5af24d861f1925a6a089ca6..d5ef33bbef61f5c617ee598249fbd22ee5244aff 100644 (file)
@@ -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
index e18e7a434889e37334485f63d260ef96d7c1f665..33e66979cc651424ad4fde7beb8436b254a5c2e7 100644 (file)
@@ -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;
        }