This commit is contained in:
Russ Cox 2007-11-27 15:39:06 -05:00
commit 83ab7d8896
21 changed files with 239 additions and 107 deletions

View file

@ -804,6 +804,8 @@ mountfuse(char *mtpt)
"/Contents/Resources/load_fusefs", 0) < 0 &&
access(f="/Library/Extensions/fusefs.kext"
"/Contents/Resources/load_fusefs", 0) < 0 &&
access(f="/Library/Filesystems"
"/fusefs.fs/Support/load_fusefs", 0) < 0 &&
access(f="/System/Library/Filesystems"
"/fusefs.fs/Support/load_fusefs", 0) < 0){
werrstr("cannot find load_fusefs");
@ -843,8 +845,15 @@ mountfuse(char *mtpt)
/*
* Different versions of MacFUSE put the
* mount_fusefs binary in different places.
* Try both.
* Try all.
*/
/* Leopard location */
putenv("MOUNT_FUSEFS_DAEMON_PATH",
"/Library/Filesystems/fusefs.fs/Support/mount_fusefs");
execl("/Library/Filesystems/fusefs.fs/Support/mount_fusefs",
"mount_fusefs", buf, mtpt, nil);
/* possible Tiger locations */
execl("/System/Library/Filesystems/fusefs.fs/mount_fusefs",
"mount_fusefs", buf, mtpt, nil);
execl("/System/Library/Filesystems/fusefs.fs/Support/mount_fusefs",

View file

@ -22,12 +22,21 @@
#ifndef O_DIRECTORY
#define O_DIRECTORY 0
#endif
#ifndef O_LARGEFILE
#if defined(__linux__)
#define O_LARGEFILE 0100000 /* Sigh */
#else
#define O_LARGEFILE 0
# if defined(__linux__)
# define O_LARGEFILE 0100000 /* Sigh */
# else
# define O_LARGEFILE 0
# endif
#endif
#ifndef O_CLOEXEC
# if defined(__linux__)
# define O_CLOEXEC 02000000 /* Sigh */
# else
# define O_CLOEXEC 0
# endif
#endif
@ -552,7 +561,7 @@ _fuseopen(FuseMsg *m, int isdir)
flags = in->flags;
openmode = flags&3;
flags &= ~3;
flags &= ~(O_DIRECTORY|O_NONBLOCK|O_LARGEFILE);
flags &= ~(O_DIRECTORY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC);
if(flags & O_TRUNC){
openmode |= OTRUNC;
flags &= ~O_TRUNC;