fixes
authorMiklos Szeredi <miklos@szeredi.hu>
Sat, 4 Oct 2003 17:31:38 +0000 (17:31 +0000)
committerMiklos Szeredi <miklos@szeredi.hu>
Sat, 4 Oct 2003 17:31:38 +0000 (17:31 +0000)
ChangeLog
configure.in
util/fusermount.c

index febb9cc15c273fab8fb7f8263202e00aacc73804..43960944c329960248f5ccde1ec9d1c523a6bc81 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2003-10-04  Miklos Szeredi <mszeredi@inf.bme.hu>
+
+       * kernel version detection fix
+
+       * fusermount now uses "lazy" umount option
+
+       * fusermount can use modprobe with module-init-tools
+
 2003-09-08  Miklos Szeredi <mszeredi@inf.bme.hu>
 
        * Integrated caching patch by Michael Grigoriev
index ebcdf6025dd4cac1dac5b8d37a8ccc8d2d9b4239..3bfa19e58e15c636216eabfa586dc5227b8657d9 100644 (file)
@@ -44,22 +44,9 @@ if test "$enable_kernel_module" != "no"; then
        AC_MSG_RESULT([$kernelsrc])
 
        AC_MSG_CHECKING([kernel source version])
-       kernsrcver=`sed -ne '/^VERSION = \(.*\)/{s//\1/;p;q;}' $kernelsrc/Makefile`
-       kernsrcver="$kernsrcver.`sed -ne '/^PATCHLEVEL = \(.*\)/{s//\1/;p;q;}' $kernelsrc/Makefile`"
-       kernsrcver="$kernsrcver.`sed -ne '/^SUBLEVEL = \(.*\)/{s//\1/;p;q;}' $kernelsrc/Makefile`"
-       kernsrcver="$kernsrcver`sed -ne '/^EXTRAVERSION = \(.*\)/{s//\1/;p;q;}' $kernelsrc/Makefile`"
-
-       if test -f /etc/SuSE-release ; then
-               if grep -qs "^CONFIG_HIGHMEM4G" $kernelsrc/.config ; then
-                       kernsrcver="$kernsrcver-4GB"
-               elif grep -qs "^CONFIG_HIGHMEM64G" $kernelsrc/.config ; then
-                       kernsrcver="$kernsrcver-64GB"
-               fi
-               if grep -qs "^CONFIG_SMP" $kernelsrc/.config ; then
-                       kernsrcver="$kernsrcver-SMP"
-               fi
+       if test -r $kernelsrc/include/linux/version.h; then
+               kernsrcver=`grep UTS_RELEASE $kernelsrc/include/linux/version.h | cut -d \" -f 2`
        fi
-
        if test -z "$kernsrcver"; then
                AC_MSG_RESULT([Not found])
                AC_MSG_ERROR([
index 754b6a9613f5d2795e6290ffb3dd82a18fa6a967..0f94c7e4799da07ab8b63e7dbe260e3e6166ce95 100644 (file)
@@ -151,7 +151,7 @@ static int remove_mount(const char *mnt)
             }
         }
         if(remove) {
-            res = umount(mnt);
+            res = umount2(mnt, 2);  /* Lazy umount */
             if(res == -1) {
                 fprintf(stderr, "%s: failed to unmount %s: %s\n", progname,
                         mnt, strerror(errno));
@@ -353,7 +353,7 @@ static int mount_fuse(const char *mnt, int flags)
         pid_t pid = fork();
         if(pid == 0) {
             setuid(0);
-            execl("/sbin/modprobe", "modprobe", "fuse", NULL);
+            execl("/sbin/modprobe", "/sbin/modprobe", "fuse", NULL);
             exit(1);
         }
         if(pid != -1)