| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
| |
This change adds support for "auto_unmount" option to libfuse.
auto_umount option unmounts the fs automatically on application
termination, whether normal or not (segfault, etc).
When auto_unmount option is specified libfuse will alway use
fusermount for mounting the fs. This change is selfcontained but
for complete functionaly it requires auto_unmount support in
fusermount tool.
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Fix the following warning:
fuse.c:436: warning: this decimal constant is unsigned only in ISO C90
|
|
|
|
|
| |
This will allow the memory used by the filesystem to grow and shrink
depending on how many inodes are currently cached.
|
|
|
|
|
| |
In the high level library store names shorter than 32 characters
inside "struct node". Longer names are allocated as previously.
|
|
|
|
| |
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.
|
|
|
|
| |
Reported-by: Goswin von Brederlow <goswin-v-b@web.de>
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
When copying fuse buffers, check if the source and destination are the
same and omit the copy as appropriate. Also check if the source and
destination memory regions overlap and use memmove in that case.
|
|
|
|
|
|
|
| |
Store the first fuse_buf inside fuse_bufvec. This makes
initialization of fuse_bufvec simpler for the common case of a single
fuse_buf. If multiple fuse_buf's are needed then fuse_bufvec needs to
be dynamically allocated.
|
| |
|
|
|
|
| |
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.
|