Commit Graph

12 Commits

Author SHA1 Message Date
Nikolaus Rath
042904f09b testfs2: Also test fuse_notify_retrieve(). 2016-10-08 21:27:06 -07:00
Nikolaus Rath
3114ff2b9b Added timefs[12] examples.
These examplesdemonstrate the use of the `fuse_lowlevel_notify_store`
and `fuse_lowlevel_notify_inval_inode` functions.
2016-10-08 21:27:04 -07:00
Nikolaus Rath
97f4a9cb4f Removed `-o big_writes` option
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.
2016-10-08 21:26:36 -07:00
Nikolaus Rath
7667317eef Released 3.0.0pre0 2016-10-03 09:08:58 -07:00
Nikolaus Rath
2ac973ef4c Added fuse_session_fd()
Fixes #59.
2016-10-02 21:48:47 -07:00
Nikolaus Rath
425db842ff Don't handle --help and --version in fuse_session_new().
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-02 21:09:37 -07:00
Nikolaus Rath
5698ee09cf Turn struct fuse_chan into an implementation detail
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-02 13:56:40 -07:00
Nikolaus Rath
f164e9b8ca Renamed fuse_lowlevel_new() to fuse_session_new(). 2016-10-02 10:52:45 -07:00
Nikolaus Rath
50f5255a44 Introduce separate mount/umount functions for low-level API. 2016-10-02 10:51:34 -07:00
Nikolaus Rath
595a6eda0c fuse_lowlevel_notify_*: take struct fuse_session instead of struct fuse_chan
The only struct fuse_chan that's available to the user application is
the one that is returned by fuse_mount. However, this is also
permanently available from struct fuse_session.

A later patch will therefore remove struct fuse_chan from the
public API completely. This patch prepares for this by changing the
fuse_lowlevel_notify_* functions to take a struct fuse_session
parameter instead of a struct fuse_chan parameter.
2016-09-27 20:45:26 -07:00
Nikolaus Rath
44346a9885 Fixed typo. 2016-08-24 11:55:24 -07:00
Nikolaus Rath
9a1384d059 Updated ChangeLog
Started from most recent FUSE 2.9.7 ChangeLog, and added FUSE 3.0
changes based on inspection of total diff to master.
2016-07-23 08:56:29 -07:00