aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorLines
2014-11-25Fix docs of lowlevel readdirplus()Miklos Szeredi-3/+3
Reported by Michael j Theall.
2014-07-21libfuse: highlevel API: fix directory file handle passed to ioctl() methodMiklos Szeredi-2/+16
Reported by Eric Biggers
2014-07-15ChangeLog fixMiklos Szeredi-1/+1
2014-07-15libfuse: add flags to ->rename()Miklos Szeredi-20/+97
See renameat2() system call in linux-3.15 and later kernels.
2014-07-15libfuse: allow setting ctime in ->setattr()Miklos Szeredi-3/+15
2014-07-15libfuse: add "time_gran" optionMiklos Szeredi-3/+33
This allows the filesystem to specify the time granularity it supports when the kernel is responsible for updating times ("writeback_cache" option).
2014-07-15fusermount, libfuse: send value as unsigned in "user_id=" and "group_id="Miklos Szeredi-3/+8
...options. Uids/gids larger than 2147483647 would result in EINVAL when mounting the filesystem. This also needs a fix in the kernel.
2014-07-15libfuse: document deadlock avoidance for fuse_notify_inval_entry()Miklos Szeredi-0/+13
and fuse_notify_delete() Reported by Han-Wen Nienhuys
2014-03-26Initilaize stat buffer passed to ->getattr() and ->fgetattr()Miklos Szeredi-0/+7
to zero in all cases. Reported by Daniel Iwan.
2014-03-18compile fix for fuse_lo-plusMiklos Szeredi-1/+43
2014-03-17compile fixMiklos Szeredi-1/+5
2014-03-05libfuse: implement readdirplus for high-level APIEric Wong-79/+349
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.
2014-02-27Allocate buffer when splicing from the fuse deviceMiklos Szeredi-6/+21
Was broken by commit 561d7054d856 "libfuse: remove fuse_chan_bufsize()".
2014-02-21libfuse: added fuse_lo-plus.c to the examplesMiklos Szeredi-1/+453
2014-02-04fuse: use dlsym() instead of relying on ld.so constructor functionsFabrice Bauzac-93/+118
2014-01-29libfuse: Add "async_dio" and "writeback_cache" optionsMiklos Szeredi-6/+56
Asynchronous direct I/O is supported by linux kernels 3.13 and later, writeback caching is supported by 3.14 and later.
2013-12-11"pkg-config fuse3 --libs" gives the wrong library nameMiklos Szeredi-1/+1
Reported-by: Michael j Theall
2013-11-29Fix fuse_add_direntry_plus()Miklos Szeredi-15/+10
2013-09-23Advertize the existence of some "configure" env vars.Fabrice Bauzac-0/+3
Advertize the existence of env vars MOUNT_FUSE_PATH, UDEV_RULES_PATH and INIT_D_PATH in the execution of ./configure.
2013-09-20test: add a realdir optionMiklos Szeredi-13/+38
2013-09-04libfuse: add the "subdir-objects" automake optionFabrice Bauzac-1/+1
to fix a warning issued by automake 1.14.
2013-08-26Merge remote-tracking branch 'origin/fuse_2_9_bugfix'Miklos Szeredi-0/+9
2013-08-26Add missing includesDaniel Thau-0/+9
This allows compiling fuse with musl.
2013-08-26Don't close -1 fd in fuse_chan_destroy()Miklos Szeredi-1/+3
Valgrind warns on close(-1). So don't do this (happens if fuse_chan_clearfd() was called on the channel).
2013-08-26Change generation and nlookup from 'unsigned long' to 'uint64_t'Miklos Szeredi-4/+3
2013-07-26Print help on stdout instead of stderrMiklos Szeredi-38/+35
2013-07-25ulockmgr: strip ulockmgr support from this source packageMiklos Szeredi-937/+22
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.
2013-07-25libfuse: fuse -> fuse3Miklos Szeredi-20/+27
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.
2013-07-25Use AC_PROG_CC_STDC instead of AC_PROG_CCMiklos Szeredi-1/+1
We do need a C99 compiler
2013-07-24libfuse: remove "-D_FILE_OFFSET_BITS=64" from fuse.pcMiklos Szeredi-6/+41
add AC_SYS_LARGEFILE to your configure.ac instead.
2013-07-18libfuse: clean up struct fuse_file_infoMiklos Szeredi-21/+3
Remove 'fh_old' which was an ABI compatibility field for a long time. Make 'writepage' a bitfield.
2013-07-17Documentation fixesMiklos Szeredi-51/+49
2013-07-17Merge https://github.com/qknight/fuse-fuseMiklos Szeredi-24/+327
2013-07-02rewrote c++ style comments to c style coments mentioned by Miklos SzerediJoachim Schiele-6/+6
2013-07-01Released 2.9.3Miklos Szeredi-2/+6
2013-07-01libfuse: don't close fd if it's -1Miklos Szeredi-1/+4
This prevents a valgrind warning.
2013-07-01libfuse: fix multiple close of device fdMiklos Szeredi-11/+34
- 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
2013-06-21libfuse: remove session and chan abstractionsMiklos Szeredi-128/+49
There's actually just one type of channel and session, so we don't need the generic callback functions.
2013-06-21libfuse: remove fuse_chan_bufsize()Miklos Szeredi-93/+46
Remove fuse_chan_bufsize() from the lowlevel API. fuse_session_receive_buf() is now responsible for allocating memory for the buffer.
2013-06-21libfuse: remove fuse_chan_(send|receive)Miklos Szeredi-156/+71
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.
2013-06-21libfuse: set FD_CLOEXEC also when receiving device fd from fusermountMiklos Szeredi-0/+8
2013-06-21libfuse: clean up fuse_chanMiklos Szeredi-89/+83
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();
2013-06-21libfuse: clean up fuse_sessionMiklos Szeredi-116/+26
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();
2013-06-21libfuse: replace fuse_session_next_chanMiklos Szeredi-25/+11
Replace fuse_session_next_chan() with fuse_session_chan(), as multiple channels per session were never actually supported and probably never will.
2013-06-20- added a doxygen main pageJoachim Schiele-24/+327
- 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
2013-06-20libfuse: fix multiple close of device fdMiklos Szeredi-14/+27
- 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
2013-06-20libfuse: remove channel user dataMiklos Szeredi-21/+9
2013-05-20libfuse: fix readdirplus docNikolaus Rath-0/+12
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.
2013-05-20fuse: synchronize fuse_kernel.h header with the linux kernelMiklos Szeredi-220/+216
Check for __KERNEL__ instead of __linux__ and use the standard int types instead of the linux specific ones.
2013-03-19Merge branch 'fuse_2_9_bugfix'Miklos Szeredi-0/+9