From 918f0ad95b73e506d20488cb8ddd35d1a2524c7c Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Wed, 12 Dec 2007 11:53:38 +0000 Subject: Disable old symbol versions if __UCLIBC__ is defined --- lib/mount.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'lib/mount.c') diff --git a/lib/mount.c b/lib/mount.c index e0fea56..8a5c5ab 100644 --- a/lib/mount.c +++ b/lib/mount.c @@ -8,6 +8,7 @@ #include "config.h" #include "fuse_i.h" +#include "fuse_misc.h" #include "fuse_opt.h" #include "fuse_common_compat.h" #include "mount_util.h" @@ -283,6 +284,10 @@ void fuse_kern_unmount(const char *mountpoint, int fd) then the filesystem is already unmounted */ if (res == 1 && (pfd.revents & POLLERR)) return; + + /* Need to close file descriptor, otherwise synchronous umount + would recurse into filesystem, and deadlock */ + close(fd); } if (geteuid() == 0) { @@ -579,5 +584,5 @@ int fuse_kern_mount(const char *mountpoint, struct fuse_args *args) return res; } -__asm__(".symver fuse_mount_compat22,fuse_mount@FUSE_2.2"); -__asm__(".symver fuse_unmount_compat22,fuse_unmount@FUSE_2.2"); +FUSE_SYMVER(".symver fuse_mount_compat22,fuse_mount@FUSE_2.2"); +FUSE_SYMVER(".symver fuse_unmount_compat22,fuse_unmount@FUSE_2.2"); -- cgit v1.2.3