| Age | Commit message (Collapse) | Author | Lines | 
|---|
|  |  | 
|  | to properly restore the default signal handler.
Reported by: Chris Johnson <johnsocg@gmail.com> | 
|  | Reported by Eric Biggers | 
|  |  | 
|  | See renameat2() system call in linux-3.15 and later kernels. | 
|  |  | 
|  | This allows the filesystem to specify the time granularity it
supports when the kernel is responsible for updating times
("writeback_cache" option). | 
|  | ...options.  Uids/gids larger than 2147483647 would result in EINVAL when
mounting the filesystem.  This also needs a fix in the kernel. | 
|  | and fuse_notify_delete()
Reported by Han-Wen Nienhuys | 
|  | to zero in all cases.
Reported by Daniel Iwan. | 
|  | Reuse the old "readdir" callback, but add a flags argument, that has
FUSE_READDIR_PLUS in case this is a "plus" version.  Filesystems can safely
ignore this flag, but if they want they can add optimizations based on it:
i.e. only retrieve the full attributes in PLUS mode.
The filler function is also given a flags argument and the filesystem can
set FUSE_FILL_DIR_PLUS if all the attributes in "stat" are valid. | 
|  |  | 
|  |  | 
|  | Asynchronous direct I/O is supported by linux kernels 3.13 and
later, writeback caching is supported by 3.14 and later. | 
|  |  | 
|  | This allows compiling fuse with musl. | 
|  |  | 
|  | Distribute ulockmgr separately.  It is not needed for the building of
libfuse, only fusexmp_fh.  Check ulockmgr library in ./configure and if not
disable remote-lock suport in fusexmp_fh. | 
|  | Allow 2.X and 3.X to coexist.  Includes are now stored under
/usr/include/fuse3 and library is named libfuse3.*.  Invoke pkg-config with
"fuse3" as the first argument to build with version 3 of the library. | 
|  | add AC_SYS_LARGEFILE to your configure.ac instead. | 
|  |  | 
|  | - fuse_kern_unmount closes handle (e.g. 19)
- a thread in my process opens a file - the OS assigns newly freed
handle (i.e. 19)
- fuse_kern_chan_destroy closes the same handle (i.e. 19)
- a thread in my process opens another file - the OS assigns newly
freed handle (i.e. 19)
- * MAYHEM *
Reported by Dan Greenfield | 
|  |  | 
|  | - fuse_kern_unmount closes handle (e.g. 19)
- a thread in my process opens a file - the OS assigns newly freed
handle (i.e. 19)
- fuse_kern_chan_destroy closes the same handle (i.e. 19)
- a thread in my process opens another file - the OS assigns newly
freed handle (i.e. 19)
- * MAYHEM *
Reported by Dan Greenfield | 
|  |  | 
|  | Exiting a worker my race with cancelling that same worker.  This caused a
segmenation fault.
Reported and tested by Anatol Pomozov | 
|  | FUSE_CFLAGS defines -D_FILE_OFFSET_BITS=64.  There are three problems
with this:
(1) A larger program using libfuse might have modules compiled with
and without FUSE_CFLAGS, which, if LFS is not enabled and the platform
is 32 bit, would result in a fatal mix of 32 and 64 bit off_t.  (This
would, of course, be a bug, but I think there is a better way to
detect this -- see below)
(2) Programs may need to be adjusted to support LFS.  It's the
intention of the LFS standard that the _programmer_ enables LFS once
the program has been checked/adjusted.
(3) _FILE_OFFSET_BITS does not need to be defined at all on 64 bit
Linux.  64 bit off_t is the default there.
So I think it's better not to force -D_FILE_OFFSET_BITS=64, and
because of (3) I also think you shouldn't test for it.
However off_t must still be 64 bits, so how to enforce that?  C1X will
define static assertions[1], and these can be used to check the size
of off_t.
Not all compilers support static assertions yet, although several do.
Therefore I have surrounded the static assertion with a conservative
check that the compiler is GCC >= 4.6.  In the long run, this test can
be removed and you can just use 'static_assert'. | 
|  |  | 
|  | Change the type of fuse_ino_t from 'unsigned long' to 'uint64_t'.  This only
changes the size on 32bit architectures. | 
|  | for consistency.
Reported by Vladimir Rutsky | 
|  | when storing a newly allocated string for format "%s", free the previous value
stored at that location.
Reported by Marco Schuster | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | Mount can be used with an "-o context=" option in order to specify a
mountpoint-wide SELinux security context different from the default context
provided by the active SELinux policy.
This is useful in order to enable users to mount multiple sshfs targets under
distinct contexts, which is my main motivation for getting this patch mainlined. | 
|  | This fixes a segmentation fault if command-line option parsing fails during
initialization.
Reported by Eric Wong | 
|  | Make requested poll events available to the filesystem.  If the requested
eventsare not available, then this field is zero. | 
|  | This patch implements readdirplus support in FUSE usersapce. It adds
a new fuse lowlevel operations fuse_lowleve_ops::readdir_plus,
corespoding mount options and helper functions to maintain buffer.
[From: Eric Wong <normalperson@yhbt.net>]
This makes our terminology consistent with NFS and
our kernel module, as well as reducing user/developer
confusion in the command-line.
Note: I'm keeping "fuse_add_direntry_plus" since that is
less standardized in its use than "readdirplus" for now.
Signed-off-by: Feng Shuo <steve.shuo.feng@gmail.com> | 
|  | Add missing flags that userspace derived from the protocol version number.  This
makes the protocol more flexible. | 
|  | The FUSE library may be used from any number of programs which
may also fork() + execve(), so set the close-on-exec flag to
avoid inadvertant leakage of pipe file descriptors.
While we're at it, attempt to use pipe2() since this is within a
(currently) Linux-only code path and pipe2() offers thread-safety. | 
|  | fuse_interrupted(), fuse_get_context(), etc... crashed in non-fuse threads.
Instead return false, NULL or error depending on the function.
Reported by Michael Berlin | 
|  |  |