| Commit message (Collapse) | Author | Age |
... | |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The only struct fuse_chan that's available to the user application is
the one that is returned by fuse_mount. However, this is also
permanently available from struct fuse_session.
A later patch will therefore remove struct fuse_chan from the
public API completely. This patch prepares for this by changing the
fuse_lowlevel_notify_* functions to take a struct fuse_session
parameter instead of a struct fuse_chan parameter.
|
|\ |
|
| |
| |
| |
| |
| | |
requirements (#29)
Remove leading _ on header guards to comply with reserved identifier requirements
|
| |
| |
| |
| |
| |
| | |
Applied (whitespace-cleanup) to each file. Having whitespace changes
in the VCS is ugly, but it ensures that in the future committers
can run this function to *avoid* commiting any whitespace.
|
|/ |
|
| |
|
|
|
|
|
| |
New functions: fuse_chan_get(), fuse_chan_put(). Removed function:
fuse_chan_destroy().
|
|
|
|
| |
Reported by Michael j Theall.
|
|
|
|
| |
See renameat2() system call in linux-3.15 and later kernels.
|
| |
|
|
|
|
|
|
| |
and fuse_notify_delete()
Reported by Han-Wen Nienhuys
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Remove fuse_chan_bufsize() from the lowlevel API.
fuse_session_receive_buf() is now responsible for allocating memory for the
buffer.
|
| |
| |
| |
| |
| |
| |
| | |
Move the fuse_chan_ops.send and .receive implementations to fuse_lowlevel.c. The abstraction wasn't actually useful and made the the splice implementation more difficult.
Remove fuse_chan_ops.send and fuse_chan_ops.receive.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Clean up fuse_chan related interfaces. Remove the following from the
lowlevel library API:
struct fuse_chan_ops;
fuse_chan_new();
fuse_chan_session();
fuse_chan_recv();
fuse_chan_send();
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Clean up fuse_session related interfaces. Remove the following from the
lowlevel library API:
struct fuse_session_ops;
fuse_session_new();
fuse_session_process();
fuse_session_data();
|
| |
| |
| |
| |
| | |
Replace fuse_session_next_chan() with fuse_session_chan(), as multiple
channels per session were never actually supported and probably never will.
|
| |
| |
| |
| |
| |
| | |
- modified all examples to be included in doxygen
- modified the API documentation to have more details
- added the 490px_FUSE_structure.svg.png (c) wikipedia
|
|/ |
|
|
|
|
|
|
|
|
|
| |
Returning entry in readdir does not result in bump of lookup count.
Returning entry in readdirplus DOES result in increase of lookup count by
1. You need to provide valid nodeid and valid stat structure (with at least
valid type) for each entry.
|
|
|
|
|
| |
Change the type of fuse_ino_t from 'unsigned long' to 'uint64_t'. This only
changes the size on 32bit architectures.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
| |
fallocate filesystem operation preallocates media space for the given file.
If fallocate returns success then any subsequent write to the given range
never fails with 'not enough space' error.
|
|
|
|
|
|
|
|
|
|
| |
This partially reverts commit 4b2157c44e6ad7e692fcffb7450143e83151d36b.
Remove mmap/munmap suppor as this missed the interface changes for Linux-3.3
(API version 7.18).
Only revert the mmap/munmap bits and leave the retrieve_reply API fix in place
as well as the optimization in fuse_send_data_iov_fallback().
|
|
|
|
| |
Update documentation for forget and related methods
|
|
|
|
|
|
|
|
|
| |
libfuse part to allow a FUSE file-system to tell the kernel when a
file or directory is deleted. If the specified dentry has the
specified inode number, the kernel will unhash it.
Signed-off-by: John Muir <john@jmuir.com>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
|
|
|
|
|
| |
Currently this is only useful for CUSE. Also update retrieve_reply()
method.
|
|
|
|
|
|
|
| |
Low level API: lock argument of fuse_reply_lock should have a
'const' qualifier.
Reported by Shachar Sharon
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Add ->forget_multi() operation to the lowlevel API. The filesystem
may implement this to process multiple forget requests in one call
|
|
|
|
| |
Retrieve data stored in the kernel buffers for a given inode.
|
|
|
|
| |
Request data to be stored in the kernel buffers for a given inode.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for mknod, mkdir and create requests by linux kernel version
2.6.31 or later, otherwise the umask is set to zero. Also
introduce a new feature flag: FUSE_CAP_DONT_MASK. If the kernel
supports this feature, then this flag will be set in conn->capable
in the ->init() method. If the filesystem sets this flag in in
conn->want, then the create modes will not be masked.
* Add low level interfaces for lookup cache and attribute
invalidation. This feature is available in linux kernels 2.6.31
or later. Patch by John Muir
* Kernel interface version is now 7.12
|
|
|
|
|
|
| |
level lib) functions to query the supplementary group IDs for the
current request. Currently this is implemented on Linux by
reading from the /proc filesystem.
|
| |
|
|
|
|
| |
by Goswin Brederlow
|
| |
|
|
|
|
| |
* Only pass valid flags to ->setattr().
|
| |
|
|
|
|
|
|
|
| |
"restricted" ioctls are supported (which are defined with the
_IO(), _IOR(), _IOW() or _IOWR() macros). Unrestricted ioctls
will only be allwed to CUSE (Character Device in Userspace)
servers. Patch by Tejun Heo
|