aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorLines
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
2013-03-19libfuse: fix thread cancel raceMiklos Szeredi-0/+8
Exiting a worker my race with cancelling that same worker. This caused a segmenation fault. Reported and tested by Anatol Pomozov
2013-02-22remove real fuse_main() symbolMiklos Szeredi-9/+0
2013-02-22clean fuse_chan_receive from versionscriptMiklos Szeredi-1/+0
2013-02-21fix fi->fh format stringsMiklos Szeredi-2/+2
2013-02-21Fix nodeid format stringsMiklos Szeredi-8/+11
2013-02-20libfuse: don't force -D_FILE_OFFSET_BITS=64 in pkgconfig file.Richard W.M. Jones-5/+17
FUSE_CFLAGS defines -D_FILE_OFFSET_BITS=64. There are three problems with this: (1) A larger program using libfuse might have modules compiled with and without FUSE_CFLAGS, which, if LFS is not enabled and the platform is 32 bit, would result in a fatal mix of 32 and 64 bit off_t. (This would, of course, be a bug, but I think there is a better way to detect this -- see below) (2) Programs may need to be adjusted to support LFS. It's the intention of the LFS standard that the _programmer_ enables LFS once the program has been checked/adjusted. (3) _FILE_OFFSET_BITS does not need to be defined at all on 64 bit Linux. 64 bit off_t is the default there. So I think it's better not to force -D_FILE_OFFSET_BITS=64, and because of (3) I also think you shouldn't test for it. However off_t must still be 64 bits, so how to enforce that? C1X will define static assertions[1], and these can be used to check the size of off_t. Not all compilers support static assertions yet, although several do. Therefore I have surrounded the static assertion with a conservative check that the compiler is GCC >= 4.6. In the long run, this test can be removed and you can just use 'static_assert'.
2013-02-20cuse: clean includesMiklos Szeredi-1/+0
2013-02-20libfuse: use O_CLOEXEC flag when opening /dev/fuse deviceRichard W.M. Jones-1/+10
2013-02-20libfuse: 64bit fuse_ino_tMiklos Szeredi-2/+7
Change the type of fuse_ino_t from 'unsigned long' to 'uint64_t'. This only changes the size on 32bit architectures.
2013-02-19fuse_daemonize(): chdir to "/" even if not running in the backgroundMiklos Szeredi-0/+7
for consistency. Reported by Vladimir Rutsky
2013-02-19fuse_opt_parse(): fix memory leakMiklos Szeredi-3/+12
when storing a newly allocated string for format "%s", free the previous value stored at that location. Reported by Marco Schuster
2013-02-18Add "nopath" to help.Miklos Szeredi-0/+1
2013-02-08remove <utime.h> include from <fuse.h>Miklos Szeredi-1/+0