aboutsummaryrefslogtreecommitdiffstats
path: root/example
AgeCommit message (Collapse)AuthorLines
2016-10-08testfs2: Also test fuse_notify_retrieve().Nikolaus Rath-1/+42
2016-10-08Added timefs[12] examples.Nikolaus Rath-2/+689
These examplesdemonstrate the use of the `fuse_lowlevel_notify_store` and `fuse_lowlevel_notify_inval_inode` functions.
2016-10-02Don't handle --help and --version in fuse_session_new().Nikolaus Rath-42/+51
Help and version messages can be generated using the new fuse_lowlevel_help(), fuse_lowlevel_version(), fuse_mount_help(), and fuse_mount_version() functions. The fuse_parse_cmdline() function has been made more powerful to do this automatically, and is now explicitly intended only for low-level API users. This is a code simplication patch. We don't have to parse for --help and --version in quite as many places, and we no longer have a low-level initialization function be responsible for the (super-high level) task of printing a program usage message. In the high-level API, we can now handle the command line parsing earlier and avoid running other initialization code if we're just going to abort later on.
2016-10-02Fixed permissions of source files.Nikolaus Rath-0/+0
2016-10-02Turn struct fuse_chan into an implementation detailNikolaus Rath-38/+48
The only struct fuse_chan that's accessible to the user application is the "master" channel that is returned by fuse_mount and stored in struct fuse_session. When using the multi-threaded main loop with the "clone_fd" option, each worker thread gets its own struct fuse_chan. However, none of these are available to the user application, nor do they hold references to struct fuse_session (the pointer is always null). Therefore, any presence of struct fuse_chan can be removed without loss of functionality by relying on struct fuse_session instead. This reduces the number of API functions and removes a potential source of confusion (since the new API no longer looks as if it might be possible to add multiple channels to one session, or to share one channel between multiple sessions). Fixes issue #17.
2016-10-02Renamed fuse_lowlevel_new() to fuse_session_new().Nikolaus Rath-2/+2
2016-10-02Introduce separate mount/umount functions for low-level API.Nikolaus Rath-5/+5
2016-05-13Fix ioctl exampleNikolaus Rath-83/+19
Fixes issue #39.
2016-03-29Added test_fselNikolaus Rath-2/+2
2014-07-15libfuse: add flags to ->rename()Miklos Szeredi-2/+9
See renameat2() system call in linux-3.15 and later kernels.
2014-03-18compile fix for fuse_lo-plusMiklos Szeredi-0/+42
2014-03-17compile fixMiklos Szeredi-0/+4
2014-03-05libfuse: implement readdirplus for high-level APIEric Wong-18/+39
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-21libfuse: added fuse_lo-plus.c to the examplesMiklos Szeredi-1/+449
2013-07-25ulockmgr: strip ulockmgr support from this source packageMiklos Szeredi-1/+9
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-10/+10
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-24libfuse: remove "-D_FILE_OFFSET_BITS=64" from fuse.pcMiklos Szeredi-1/+15
add AC_SYS_LARGEFILE to your configure.ac instead.
2013-07-17Documentation fixesMiklos Szeredi-12/+11
2013-07-02rewrote c++ style comments to c style coments mentioned by Miklos SzerediJoachim Schiele-4/+4
2013-06-20- added a doxygen main pageJoachim Schiele-18/+186
- 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-02-08libfuse: remove deprecated fuse_operations.utime_omit_okMiklos Szeredi-4/+0
2012-07-20Remove compatibility path handlingMiklos Szeredi-1/+0
This means that now NULL is a valid path for operations that take a file descriptor if the file was unlinked and hard_remove option is specified.
2012-07-19Start of 3.0 seriesMiklos Szeredi-8/+8
Change the version numbers. This is going to be a new major version of the library breaking backward compatibility on the binary level as well as the source level.
2012-06-18Add FALLOCATE operationAnatol Pomozov-0/+42
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.
2012-05-16Fix the compile command in the examplesMiklos Szeredi-8/+8
Reported by Luciano Dalle Ore
2012-04-10Add 'flag_utime_omit_ok' flag to fuse_operationsMiklos Szeredi-0/+3
If the filesystem sets this flag then ->utimens() will receive UTIME_OMIT and UTIME_NOW values as specified in utimensat(2).
2011-12-08utimens availability checkEmmanuel Dreyfus-0/+10
fusexmp uses utimens and takes that function for granted. It is part of POSIX exended API set 2 and some systems do not have it yet. Attached patch checks for utimens availability and returns ENOSYS if unavailable.
2011-07-06Add ->flock() operation to low and high level interfacesMiklos Szeredi-0/+14
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.
2011-07-04utimens must not follow symlinksSebastian Pipping-16/+8
Make xmp_utimens of examples "fusexmp" and "fusexmp_fh" not follow symlinks as other layers do that already.
2011-05-26Remove -lrt -ldl from fuse.pc for dynamic linkingMiklos Szeredi-2/+2
Remove -lrt -ldl from fuse.pc for dynamic linking since libfuse.so is already linked with these libraries. Reported by: Nikolaus Rath
2011-05-23cleaning up warningsReuben Hawkins-2/+2
fprintf(stderr, whatever); -> fprintf(stderr, "%s", whatever); checking return values on chdir and lockf where we weren't already modified: example/cusexmp.c modified: example/fioclient.c modified: util/fusermount.c
2010-11-10fusexmp_fh: add read_buf and write_buf implementationsMiklos Szeredi-0/+38
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.
2010-06-24Add .gitignore filesMiklos Szeredi-14/+10
Add .gitignore files and delete .cvsignore files.
2009-07-01fix compiler warningCsaba Henk-0/+2
2009-06-18*** empty log message ***Miklos Szeredi-0/+1
2009-06-18CUSE patches from Tejun Heo (add new files)Miklos Szeredi-0/+294
2009-06-18CUSE patches from Tejun HeoMiklos Szeredi-24/+95
2008-12-08* Implement poll support. Patch by Tejun HeoMiklos Szeredi-1/+355
2008-12-05* Implement ioctl support. On high level interface onlyMiklos Szeredi-1/+303
"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-03-05Make example/null work with -odirect_ioMiklos Szeredi-0/+3
2008-02-08Support receiving file handle from kernel in GETATTR request; Allow ↵Miklos Szeredi-0/+2
operations with a NULL path argument, if the filesystem supports it
2008-02-08fusexmp_fh: avoid unnecessary seeking in readdirMiklos Szeredi-15/+48
2007-12-12change indentingMiklos Szeredi-653/+654
2007-05-17*** empty log message ***Miklos Szeredi-0/+4
2007-04-27merge bugfix branch up to 2.6.4Miklos Szeredi-1/+1
2007-04-25update copyright datesMiklos Szeredi-5/+5
2007-03-30cleanupMiklos Szeredi-8/+6
2007-02-03Add filesystem stacking support to high level APIMiklos Szeredi-2/+2
2006-10-01Add init scriptMiklos Szeredi-1/+21
2006-09-30API changesMiklos Szeredi-2/+3