* libfuse: change the type of fuse_ino_t from 'unsigned long' to
'uint64_t'
+ * libfuse: use O_CLOEXEC flag when opening /dev/fuse device.
+ Patch by Richard W.M. Jones
+
2013-02-19 Miklos Szeredi <miklos@szeredi.hu>
* fuse_daemonize(): chdir to "/" even if not running in the
return rv;
}
+#ifndef O_CLOEXEC
+#define O_CLOEXEC 0
+#endif
+
static int fuse_mount_sys(const char *mnt, struct mount_opts *mo,
const char *mnt_opts)
{
return -2;
}
- fd = open(devname, O_RDWR);
+ fd = open(devname, O_RDWR | O_CLOEXEC);
if (fd == -1) {
if (errno == ENODEV || errno == ENOENT)
fprintf(stderr, "fuse: device not found, try 'modprobe fuse' first\n");
devname, strerror(errno));
return -1;
}
+ if (!O_CLOEXEC)
+ fcntl(fd, F_SETFD, FD_CLOEXEC);
snprintf(tmp, sizeof(tmp), "fd=%i,rootmode=%o,user_id=%i,group_id=%i",
fd, stbuf.st_mode & S_IFMT, getuid(), getgid());