| Age | Commit message (Collapse) | Author | Lines |
|
Reply to request with ENOMEM in case of failure to allocate request
structure. Otherwise the task issuing the request will just freeze up
until the filesystem daemon is killed. Reported by Stephan Kulow
|
|
daemon() is a BSD-ism. Although it is available on many platforms
it is not a standard function. Some platforms (e.g. MacOSX) deprecated
it.
It is safer just to use fork() function that is a part of POSIX.
|
|
If configured with --disable-mtab then don't call mount(8) from
libfuse to update the mtab.
Reported by: James Sierp
|
|
Use LRU list for cleaning up the cache if the "remember=T" option was
given.
|
|
This fixes problems with emulating flock() with POSIX locking.
Reported by Sebastian Pipping.
As with lock/setlk/getlk most filesystems don't need to implement
this, as the kernel takes care of file locking. The only reason to
implement locking operations is for network filesystems which want
file locking to work between clients.
|
|
Make xmp_utimens of examples "fusexmp" and "fusexmp_fh" not follow
symlinks as other layers do that already.
|
|
This works similar to "noforget" except that eventually the node will
be allowed to expire from the cache.
|
|
|
|
|
|
Remove -lrt -ldl from fuse.pc for dynamic linking since libfuse.so is
already linked with these libraries.
Reported by: Nikolaus Rath
|
|
Add m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES(yes)]) for cleaner
build output. The verbose output is still available with 'make V=1'
|
|
Fix the ambiguity of ioctl ABI on the kernel/userspace boundary
for 32bit vs. 64bit userspace
|
|
Add ->forget_multi() operation to the lowlevel API. The filesystem
may implement this to process multiple forget requests in one call
|
|
This allows forget requests to be processed faster and doesn't require
a modification to fuse filesystems. Reported by Terje Malmedal
|
|
Disable splice by default, add "splice_read", "splice_write" and
"splice_move" options. Keep the "no_splice_*" variants, which can
disable splice even if the filesystem explicitly enables it.
|
|
|
|
Patches by Laszlo Papp fixing various issues found by the Coverity
checker.
|
|
Reported by Marc Deslauriers
|
|
This reverts commit bf5ffb5fd8558bd799791834def431c0cee5a11f.
Cleanup of mount doesn't work the way it was envisioned, because the
kernel doesn't follow mounts on the umount() call, hence it will find
a non-mounted directory.
|
|
In fuse_session_loop_mt() don't pause when exiting the worker threads.
The pause() was added in 2.2.1 to prevent segfault on pthread_cancel()
on an exited, detached thread. Now worker threads are not detached
and pthread_cancel() should work fine even after the thread exited.
Reported by Boris Protopopov
|
|
--no-canonicalize
Remove "legacy" util-linux support as missing --no-canonicalize cannot
be worked around in fuse.
|
|
|
|
In case of failure to add to /etc/mtab use same mountpoint for cleanup
as for mounting. Reported by Marc Deslauriers
|
|
This will allow the memory used by the filesystem to grow and shrink
depending on how many inodes are currently cached.
|
|
Allow hash tables to shrink as well as grow.
|
|
Use dynamically resized hash table for looking up by name and node ID.
The chosen implementation is linear hashing, which features gradual
rehashing when while the size of the table increases.
|
|
In fusexmp_fh implement the ->read_buf() and ->write_buf() methods.
Leave the ->read() and ->write() implementations for reference, even
though they are not necessary.
|
|
Add a new read_buf() method to the highlevel API. This allows
returning a generic buffer from the read method, which in turn allows
zero copy reads.
|
|
Add new write_buf() method to the highlevel API. Similarly to the
lowlevel write_buf() method, this allows implementing zero copy
writes.
|
|
Retrieve data stored in the kernel buffers for a given inode.
|
|
|
|
Fix st_nlink value in high level lib if file is unlinked but still open
|
|
|
|
Request data to be stored in the kernel buffers for a given inode.
|
|
Remove unnecessary restoring of current working directory in
"fusermount -u"
|
|
Add new ->write_buf() method to low level interface. This
allows passig a generic buffer, either containing a memory buffer
or a file descriptor. This allows implementing zero copy writes.
Add fuse_session_receive_buf() and fuse_session_process_buf()
which may be used in event loop implementations to replace
fuse_chan_recv() and fuse_session_process() respectively.
|
|
|
|
If umount(8) supports --fake and --no-canonicalize (util-linux-ng
version 2.18 or later), and umount(2) supports the UMOUNT_NOFOLLOW
flag (linux kernel version 2.6.35 or later) then, "fusermount -u" will
call the umount(2) system call and use "umount --fake ..." to update
/etc/mtab
Added --disable-legacy-umount option to configure. This disables the
runtime checking of umount(8) version. When built with this option
then "fusermount -u" will fail if umount(8) doesn't support the --fake
and --no-canonicalize options.
|
|
Open /dev/null for write instead of read for redirecting stdout and
stderr
|
|
|
|
This fixes building against uclibc + libiconv.
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
|
|
Add missing argument check in ulockmgr.c to prevent calling
ulockmgr_server with illegal arguments. This would cause an ever growing
list of ulockmgr_server processes with an endless list of open files which
finally exceeds the open file handle limit.
It appears samba is sometimes calling flock with illegal / weired values.
|
|
If the "fsname=" option contained a comma then the option parser in
fusermount was confused (Novell bugzilla #641480). Fix by escaping
commas when passing them over to fusermount.
Reported by Jan Engelhardt
|
|
The bulk of it is just about adding ifdef __NetBSD__ where there is
already an ifdef __FreeBSD__
Add a arch=netbsd to deal with NetBSD specifics. I suggests that
arch=bsd could be renamed to arch=freebsd
NetBSD specific linking with -lperfuse
NetBSD patches to lib/mount.c. It turned to be less itrusive to patch
mount;c than mount_bsd.c. I suggest mount_bsd.c could be renamed to
mount_freebsd.c
Patch from Emmanuel Dreyfus
|
|
Add a generic buffer interface for use with I/O. Buffer vectors are
supplied and each buffer in the vector may be a memory pointer or a
file descriptor.
The fuse_reply_fd() interface is converted to using buffers.
|
|
threshold tunable.
|
|
|
|
need not be calculated for the following operations: read, write,
flush, release, fsync, readdir, releasedir, fsyncdir, ftruncate,
fgetattr, lock, ioctl and poll.
|
|
|
|
|