aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Add background and multithreading support to hello_ll and fuse_lo-plusGravatar Nikolaus Rath2016-10-08
|
* Update list of requests that can be answered with fuse_reply_none().Gravatar Nikolaus Rath2016-10-08
|
* testfs2: Also test fuse_notify_retrieve().Gravatar Nikolaus Rath2016-10-08
|
* Added timefs[12] examples.Gravatar Nikolaus Rath2016-10-08
| | | | | These examplesdemonstrate the use of the `fuse_lowlevel_notify_store` and `fuse_lowlevel_notify_inval_inode` functions.
* Added safe_sleep()Gravatar Nikolaus Rath2016-10-08
|
* Clarify that readdir() *may* report . and .. entries.Gravatar Nikolaus Rath2016-10-08
|
* Removed ``-o big_writes`` optionGravatar Nikolaus Rath2016-10-08
| | | | | | This option is obsolete and should always be enabled. File systems that want to limit the size of write requests should use the ``-o max_write=<N>`` option instead.
* Test more combinations of low-level options.Gravatar Nikolaus Rath2016-10-05
|
* Remove pointless aliasing of fuse_session *se to *fGravatar Nikolaus Rath2016-10-05
| | | | This is an overlooked artifact of the fuse_ll-fuse_session merge.
* Removed obsolete, unused *f member from struct fuse_session.Gravatar Nikolaus Rath2016-10-05
|
* Merge struct fuse_ll into struct fuse_session.Gravatar Nikolaus Rath2016-10-04
|\ | | | | | | | | | | | | This merge merges struct fuse_ll into struct fuse_session. Since there is always a one-to-one correspondence between the two, there is little reason to keep them separate. By merging them, we save pointers and lines of code.
| * Merge fuse_ll into fuse_session (part 8)Gravatar Nikolaus Rath2016-10-04
| | | | | | | | Replaced "req->se" with "f" where the latter is already defined.
| * Merge fuse_ll into fuse_session (part 7)Gravatar Nikolaus Rath2016-10-04
| | | | | | | | | | Remove pointless aliasing of "struct fuse_session *se" to "struct fuse_session *f".
| * Merge fuse_ll into fuse_session (part 6)Gravatar Nikolaus Rath2016-10-04
| | | | | | | | Fixup cuse_lowlevel_new().
| * Merge fuse_ll into fuse_session (part 5)Gravatar Nikolaus Rath2016-10-04
| | | | | | | | Fixup fuse_session_new().
| * Merge fuse_ll into fuse_session (part 4)Gravatar Nikolaus Rath2016-10-04
| | | | | | | | Merge fuse_ll_destroy() and fuse_session_destroy().
| * Merge fuse_ll into fuse_session (part 3)Gravatar Nikolaus Rath2016-10-04
| | | | | | | | Replace se->f with se.
| * Merge fuse_ll into fuse_session (part 2)Gravatar Nikolaus Rath2016-10-04
| | | | | | | | Replaced all references to req->f with req->se.
| * Merge fuse_ll into fuse_session (part 1)Gravatar Nikolaus Rath2016-10-04
|/ | | | | Merged the structures, and replaced fuse_ll with fuse_session in all type definitions.
* fuse_mount_help(): clarify that listed options are FUSE specificGravatar Nikolaus Rath2016-10-04
| | | | | We also accept a number of mount options that are common to all file systems (nosuid, nodev, ro, etc).
* Clarified purpose of helper.c, moved *version() to fuse.cGravatar Nikolaus Rath2016-10-04
|
* Merge branch 'fix-root-umount'Gravatar Nikolaus Rath2016-10-04
|\ | | | | | | | | Commit e4015aca9b7 already fixed this problem in a different way, so this is effectively a null-merge.
| * fuse_session_unmount(): fix unmounting as rootGravatar Nikolaus Rath2016-10-04
| | | | | | | | | | | | | | | | | | We have to store the channel before removing it from the session, otherwise we cannot use it to do the unmount. This problem was introduced in commit 5698ee09cf7. Thanks to Michael Theall for reporting & debugging this.
* | Merge master fuse_chan into fuse_session.Gravatar Nikolaus Rath2016-10-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a code simplification patch. - It confines most of the implementation channel implementation into fuse_loop_mt (which is its only user). - It makes it more obvious in the code that channels are only ever used when using -o clone_fd and multi-threaded main loop. - It simplies the definition of both struct fuse_session and struct fuse_chan. - Theoretically it should result in (minuscule) performance improvements when not using -o clone_fd. - Overall, it removes a lot more lines of source code than it adds :-).
* | fuse_lowlevel_notify_poll(): use master channelGravatar Nikolaus Rath2016-10-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In theory, a poll handle could hang around much longer than the worker thread that creates it. Furthermore, the thread that created the pollhandle is no more likely to call fuse_lowlevel_notify_poll() than any other thread. In theory, this would have kept the channel alive for much longer than necessary. In practice, there seems to have been a bug that prevented this - and instead allowed the channel to be destroyed while there was still a pollhandle referring to it. Instead of fixing this by calling fuse_chan_get() and fuse_chan_put() in do_poll() and fuse_pollhandle_destroy(), we simply transmit poll notifications over the master channel now.
* | Store struct fuse_session* in struct fuse_reqGravatar Nikolaus Rath2016-10-03
| |
* | fuse_session_process_buf(): improve documentationGravatar Nikolaus Rath2016-10-03
| |
* | Released 3.0.0pre0Gravatar Nikolaus Rath2016-10-03
| |
* | Don't crash if valgrind or libtool are not installed.Gravatar Nikolaus Rath2016-10-03
| |
* | Run tests under valgrind when available.Gravatar Nikolaus Rath2016-10-02
| | | | | | | | Fixes #50.
* | Import os.path.join as pjoinGravatar Nikolaus Rath2016-10-02
| | | | | | | | Makes the code much shorter :-).
* | Added fuse_session_fd()Gravatar Nikolaus Rath2016-10-02
| | | | | | | | Fixes #59.
* | Document that client pid/gid/uid may be zero.Gravatar Nikolaus Rath2016-10-02
| | | | | | | | Fixes #67.
* | Merged fuse_session.c into fuse_lowlevel.cGravatar Nikolaus Rath2016-10-02
| | | | | | | | | | | | This distinction no longer makes sens. fuse_lowlevel.c already contains several session related functions, and fuse_session.c contains various stuff that is more related to the channel interface.
* | Merged fuse_mt.c into fuse.cGravatar Nikolaus Rath2016-10-02
| | | | | | | | There is no point in having a separate file for a 10 line function.
* | Extended per-file comments.Gravatar Nikolaus Rath2016-10-02
| | | | | | | | | | This should make more clear what file contains code for what purpose.
* | Don't handle --help and --version in fuse_session_new().Gravatar Nikolaus Rath2016-10-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | fuse_mount_opts: don't keep max_read= option.Gravatar Nikolaus Rath2016-10-02
| | | | | | | | There is no consumer of it down the line.
* | Add section headings for --help outputGravatar Nikolaus Rath2016-10-02
| | | | | | | | Also, do not include "General options" in usage message.
* | Edited comments for clarity.Gravatar Nikolaus Rath2016-10-02
| |
* | Added test for fuse_lo-plus.Gravatar Nikolaus Rath2016-10-02
| |
* | Run hello_ll single-threaded explicitly.Gravatar Nikolaus Rath2016-10-02
| |
* | Fixed permissions of source files.Gravatar Nikolaus Rath2016-10-02
|/
* Turn struct fuse_chan into an implementation detailGravatar Nikolaus Rath2016-10-02
| | | | | | | | | | | | | | | | | | | | | 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.
* Renamed fuse_lowlevel_new() to fuse_session_new().Gravatar Nikolaus Rath2016-10-02
|
* Re-order declarations to reflect typical order of useGravatar Nikolaus Rath2016-10-02
|
* Introduce separate mount/umount functions for low-level API.Gravatar Nikolaus Rath2016-10-02
|
* Tell emacs to use tabs for linkerscript.Gravatar Nikolaus Rath2016-10-02
|
* Turned fuse_session_{process,receive}_buf into wrapper functions.Gravatar Nikolaus Rath2016-10-02
|
* Inlined fuse_session_new()Gravatar Nikolaus Rath2016-10-02
| | | | This function is only used in one place.