aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2003-10-04 17:31:38 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2003-10-04 17:31:38 +0000
commit27af48b9de3a15f16cce7747780ae37843ccac26 (patch)
tree39080f428b1cac1c80da10b2fe71ff26a8adc17e
parent02ceb11c60d865a69c7f86a95c176b510779c033 (diff)
downloadlibfuse-27af48b9de3a15f16cce7747780ae37843ccac26.tar.gz
fixes
-rw-r--r--ChangeLog8
-rw-r--r--configure.in17
-rw-r--r--util/fusermount.c4
3 files changed, 12 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index febb9cc..4396094 100644
--- 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
diff --git a/configure.in b/configure.in
index ebcdf60..3bfa19e 100644
--- a/configure.in
+++ b/configure.in
@@ -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([
diff --git a/util/fusermount.c b/util/fusermount.c
index 754b6a9..0f94c7e 100644
--- a/util/fusermount.c
+++ b/util/fusermount.c
@@ -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)