86 Commits

Author SHA1 Message Date
Miklos Szeredi 4e0aea6a96 libfuse: support zero copy writes in lowlevel interface
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.
2010-11-08 17:11:46 +01:00
Miklos Szeredi 824b4ce6ac Fix ambiguous symbol version for fuse_chan_new
fuse_versionscript included fuse_chan_new in both FUSE_2.4 and
FUSE_2.6.  Remove the FUSE_2.4, which is invalid.

Reported by Raymes Khoury, who discovered this with the gold linker
2010-09-28 20:04:02 +02:00
Miklos Szeredi 2709f9a53d libfuse: add buffer interface
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.
2010-07-12 17:17:25 +02:00
Miklos Szeredi 1091d73a28 Add fuse_reply_fd() reply function to the low level interface 2010-06-17 11:54:26 +00:00
Miklos Szeredi 6972376812 * Add missing fuse_session_data to versionscript
* Make sure all global symbols are prefixed with "fuse_" or "cuse_"

* Released 2.8.0
2009-08-18 16:13:33 +00:00
Miklos Szeredi 24b35c3d97 * The context is extended with a 'umask' field. The umask is sent
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
2009-07-02 12:26:36 +00:00
Miklos Szeredi ecd073bd70 Add fuse_getgroups (high level lib) and fuse_req_getgroups (low
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.
2009-06-19 10:27:38 +00:00
Miklos Szeredi ae9bfde712 CUSE patches from Tejun Heo 2009-06-18 11:11:54 +00:00
Miklos Szeredi bc53eddb2f Add missing fuse_reply_bmap to versionscript. Debian Bug#531329. Reported by Goswin Brederlow 2009-06-18 09:26:22 +00:00
Miklos Szeredi 5f722fa8f6 * Implement poll support. Patch by Tejun Heo 2008-12-08 19:26:53 +00:00
Miklos Szeredi ecfa5263ab * Implement ioctl support. On high level interface only
"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
2008-12-05 10:55:36 +00:00
Miklos Szeredi 5c094ac015 * Allow commas in options to be escaped with a backslash * Add new function: fuse_opt_add_opt_escaped() * Add missing fuse_reply_bmap() to the version script 2008-10-16 19:11:28 +00:00
Miklos Szeredi 918f0ad95b Disable old symbol versions if __UCLIBC__ is defined 2007-12-12 11:53:38 +00:00
Miklos Szeredi d4428a57bc Released 2.7.0 2007-07-02 11:29:19 +00:00
Miklos Szeredi 62c24a8e4b Add fs subtype support to libfuse and fusermount 2007-06-20 21:37:58 +00:00
Miklos Szeredi 3a7c00ec0c Add filesystem stacking support to high level API 2007-02-03 23:32:47 +00:00
Miklos Szeredi 288ed4ebce interrupt support 2006-09-07 06:02:44 +00:00
Miklos Szeredi 8d975f6fb3 fix 2006-03-17 15:56:05 +00:00
Miklos Szeredi 6f385414b2 fix 2006-03-17 15:05:40 +00:00
Miklos Szeredi 5d9ce36da4 fix 2006-03-01 12:10:13 +00:00
Csaba Henk ee588c01dc pass device file descriptor to fuse_unmount 2006-03-01 09:40:35 +00:00
Miklos Szeredi 1bf64f4806 fix 2006-02-17 15:49:25 +00:00
Miklos Szeredi 83deefd65f revert to version 2.6 2006-01-23 17:11:24 +00:00
Miklos Szeredi 065f222cd5 fix 2006-01-20 15:15:21 +00:00
Miklos Szeredi 95da860d29 fix 2006-01-06 18:29:40 +00:00
Miklos Szeredi 659743bc88 added option parsing 2005-12-09 17:41:42 +00:00
Miklos Szeredi 3a77047661 fix 2005-11-11 21:32:42 +00:00
Miklos Szeredi c706ad9ca0 fix 2005-11-07 15:30:48 +00:00
Miklos Szeredi c12c0ad0ce fix version-script 2005-08-15 14:39:35 +00:00
Miklos Szeredi a148242fb8 cleanup 2005-08-14 23:00:27 +00:00
Miklos Szeredi 2f8a9e633c fix fix 2005-08-05 05:57:25 +00:00
Miklos Szeredi cac5470594 fix 2005-08-01 10:44:45 +00:00
Miklos Szeredi 76c1752f14 inode based API first working version 2005-07-13 14:08:19 +00:00
Miklos Szeredi e56818b231 cleanup 2004-12-12 11:45:24 +00:00
Miklos Szeredi f458b8c07b cleanup 2004-12-07 16:46:42 +00:00
Miklos Szeredi 0b6a0adc4d backward compatibility 2004-12-04 00:40:50 +00:00