aboutsummaryrefslogtreecommitdiffstats
path: root/example
AgeCommit message (Collapse)AuthorLines
2016-10-31silence bogus eclipse linter warningdivinity76-0/+1
"No break at the end of case cuse.c /example line 235 Code Analysis Problem"
2016-10-28Clean-up doxygen documentationNikolaus Rath-89/+41
Fixes: #81.
2016-10-20Turn fuse_operations.nopath_flag into fuse_config.nullpath_okNikolaus Rath-0/+1
Modifying struct fuse_config in the init() handler is the canonical way to adjust file-system implementation specific settings. There is no need to have flags in struct fuse_operations.
2016-10-20fuse_new(): don't accept options that don't make sense for end-usersNikolaus Rath-0/+27
Several options (use_ino, etc) depend on the file system implementation. Allowing them to be set from the command line makes no sense.
2016-10-15Make --help output more suitable for end-userNikolaus Rath-10/+5
We now only list options that are potentially useful for an end-user (and unlikely to accidentally break a file system). The full list of FUSE options has been moved to the documentation of the fuse_new() and fuse_session_new() functions.
2016-10-15Pass fuse_file_info to getattr, chown, chmod, truncate, utimens handlersNikolaus Rath-44/+55
This obsoletes the ftruncate & fgetattr handlers. Fixes #58.
2016-10-15Unify handling of fuse_conn_info optionsNikolaus Rath-5/+0
Instead of using command line options to modify struct fuse_conn_info before and after calling the init() handler, we now give the file system explicit control over this.
2016-10-13Make -o clone_fd into a parameter of session_loop_mt().Nikolaus Rath-5/+5
This option really affects the behavior of the session loop, not the low-level interface. Therefore, it does not belong in the fuse_session object.
2016-10-10Fix race condition in notify_* examplesNikolaus Rath-33/+54
The fix in commit cf4159156b was incomplete. While some false positives are caused by sleep() in the file system taking longer than expected, there was also a race condition where the file system would run before the contents are initialized properly.
2016-10-10fuse_main(): extend support for printing helpNikolaus Rath-10/+66
There's now a way to inhibit the "usage" line (which actually got lost in commit 225c12aebf2d), which makes it easier for simply file-systems to generate good-looking --help output.
2016-10-09Use NULL as option processor where possible.Nikolaus Rath-27/+3
2016-10-09Renamed cuses example and added test programNikolaus Rath-6/+174
An earlier version of the fioclient.c example was intended to be used together with cusexmp.c. The former has since evolved into ioctl_client.c and no longer has the function necessary to test CUSE. Therefore, we've added a new cuse_client.c that is clearly associated with the cuse.c example file system.
2016-10-09Don't confuse lookup count for mountpoint and fileNikolaus Rath-7/+12
I think this is the reason for a sporadic test failure, where fuse_lowlevel_notify_store() fails.
2016-10-09Renamed timefsN examples to fuse_notify_*Nikolaus Rath-40/+41
This should make it more obvious at first glance what the different examples do.
2016-10-09Include testfsN examples in Doxygen documentation.Nikolaus Rath-139/+172
2016-10-09Renamed ioctl and poll examplesNikolaus Rath-36/+40
The new names should make it more obvious at first glance what each example demonstrates.
2016-10-09Renamed some examples to make their function more obviousNikolaus Rath-14/+35
Also, added more comments for the same purpose.
2016-10-09fuse_parse_cmdline(): do not print help/version textNikolaus Rath-12/+94
The current behavior makes it difficult to add help for additional options. With the change, this becomes a lot easier.
2016-10-09Whitespace fix.Nikolaus Rath-2/+2
2016-10-09Dropped example/null.cNikolaus Rath-110/+1
This does not seem to be working. Maybe because it tries to treat the mountpoint as a file rather than a directory?
2016-10-08Added timefs3 to test notify_inval_entry.Nikolaus Rath-1/+322
Fixes #32.
2016-10-08Add background and multithreading support to hello_ll and fuse_lo-plusNikolaus Rath-15/+13
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.