| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
|
|
|
|
| |
These examplesdemonstrate the use of the `fuse_lowlevel_notify_store`
and `fuse_lowlevel_notify_inval_inode` functions.
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
This is an overlooked artifact of the fuse_ll-fuse_session merge.
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
Replaced "req->se" with "f" where the latter is already defined.
|
| |
| |
| |
| |
| | |
Remove pointless aliasing of "struct fuse_session *se" to "struct
fuse_session *f".
|
| |
| |
| |
| | |
Fixup cuse_lowlevel_new().
|
| |
| |
| |
| | |
Fixup fuse_session_new().
|
| |
| |
| |
| | |
Merge fuse_ll_destroy() and fuse_session_destroy().
|
| |
| |
| |
| | |
Replace se->f with se.
|
| |
| |
| |
| | |
Replaced all references to req->f with req->se.
|
|/
|
|
|
| |
Merged the structures, and replaced fuse_ll with fuse_session
in all type definitions.
|
|
|
|
|
| |
We also accept a number of mount options that are common to
all file systems (nosuid, nodev, ro, etc).
|
| |
|
|\
| |
| |
| |
| | |
Commit e4015aca9b7 already fixed this problem in a different way, so
this is effectively a null-merge.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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 :-).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Fixes #50.
|
| |
| |
| |
| | |
Makes the code much shorter :-).
|
| |
| |
| |
| | |
Fixes #59.
|
| |
| |
| |
| | |
Fixes #67.
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
There is no point in having a separate file for a 10 line function.
|
| |
| |
| |
| |
| | |
This should make more clear what file contains code for what
purpose.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
There is no consumer of it down the line.
|
| |
| |
| |
| | |
Also, do not include "General options" in usage message.
|
| | |
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This function is only used in one place.
|