aboutsummaryrefslogtreecommitdiffstats
path: root/ChangeLog.rst
AgeCommit message (Collapse)AuthorLines
2016-11-22Make handling of -oallow_root easier to understandNikolaus Rath-0/+5
-oallow_root is handled in userspace, and requires passing -oallow_other to the kernel. This patch should make the code easier to understand and avoid the confusion that gave rise to issue #86.
2016-11-22Add support for FUSE_HANDLE_KILLPRIVNikolaus Rath-1/+6
Fixes #116.
2016-11-22Add support for FUSE_POSIX_ACLNikolaus Rath-1/+2
Fixes #117.
2016-11-22Added support for FUSE_PARALLEL_DIROPSNikolaus Rath-0/+1
Enabled by default since we haven't released libfuse 3.0 yet :-). Fixes #112.
2016-11-16Enable more capabilities by default, and document defaults.Nikolaus Rath-0/+8
Fixes #112.
2016-11-16Update ChangeLog to include recent documentation improvementsNikolaus Rath-1/+2
2016-11-16Abort if fs requests capabilities not supported by kernel.Nikolaus Rath-0/+3
See also issue #114.
2016-11-16Add support for more detailed error codes from main loopNikolaus Rath-0/+4
2016-11-10Added documentation for FUSE_CAP_FLOCK_LOCKSNikolaus Rath-0/+2
Fixes #106.
2016-11-10Make test for util-linux version more robustNikolaus Rath-0/+2
The current version fails on Amazon Linux. This check should work better. Fixes #64.
2016-11-10Don't expect EACCESS errors as rootNikolaus Rath-0/+5
Fixes #111.
2016-11-06Released 3.0.0-rc2Nikolaus Rath-2/+2
2016-11-06Fix documentation: fuse_file_info may be NULL for open filesNikolaus Rath-0/+4
This turns issue #62 from a bug into an enhancement :-).
2016-10-28Renamed fusermount / mount.fuse to fusermount3 / mount.fuse3Nikolaus Rath-0/+7
2016-10-28Released 3.0.0rc1Nikolaus Rath-2/+5
2016-10-27Add max_read to fuse_conn_infoNikolaus Rath-0/+6
Eventually, this setting should be negotiated in the filesystem's init() handler (like e.g. max_write). However, this requires corresponding changes in the FUSE kernel module. In preparation for this (and to allow a transition period) we already allow (and require) filesystems to set the value in the init() handler in addition to the mount option. The end-goal is tracked in issue #91.
2016-10-24fuse_session_new(): don't accept empty argv, check argv[0]Nikolaus Rath-0/+4
This should help avoid people to accidentally put options into argv[0]. Fixes #100.
2016-10-20Turn fuse_operations.nopath_flag into fuse_config.nullpath_okNikolaus Rath-0/+4
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-20Pass struct fuse_config to high-level init() handler.Nikolaus Rath-0/+4
2016-10-20ChangeLog: Remind people of to use FUSE_CAP_EXPORT_SUPPORTNikolaus Rath-0/+7
2016-10-17Spelling fixNikolaus Rath-1/+1
Thanks to (Github user) mtheall for the review!
2016-10-15Make --help output more suitable for end-userNikolaus Rath-1/+7
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-15Removed -o nopath - it never did anythingNikolaus Rath-0/+4
We are overriding this setting with the flag in struct fuse_operations: $ example/hello -f -d ~/tmp/mnt FUSE library version: 3.0.0pre0 nopath: 0 unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0 INIT: 7.25 flags=0x0007fffb max_readahead=0x00020000 INIT: 7.23 flags=0x00006031 max_readahead=0x00020000 max_write=0x00020000 max_background=0 congestion_threshold=0 time_gran=0 unique: 1, success, outsize: 80 $ example/hello -f -d ~/tmp/mnt -o nopath FUSE library version: 3.0.0pre0 nopath: 0 unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0 INIT: 7.25 flags=0x0007fffb max_readahead=0x00020000 INIT: 7.23 flags=0x00006031 max_readahead=0x00020000 max_write=0x00020000 max_background=0 congestion_threshold=0 time_gran=0 unique: 1, success, outsize: 80
2016-10-15Removed -o nonempty optionNikolaus Rath-0/+10
This brings the default behavior in-line with that of the regular `mount` command.
2016-10-15Drop -o large_read mount optionNikolaus Rath-0/+3
This was only relevant for 2.4 kernels. Fixes #92.
2016-10-15Pass fuse_file_info to getattr, chown, chmod, truncate, utimens handlersNikolaus Rath-0/+7
This obsoletes the ftruncate & fgetattr handlers. Fixes #58.
2016-10-15Unify handling of fuse_conn_info optionsNikolaus Rath-13/+23
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-13Added lost ChangeLog entries for -o writeback_cache and -o async_dio.Nikolaus Rath-0/+7
2016-10-13Make -o clone_fd into a parameter of session_loop_mt().Nikolaus Rath-0/+4
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-13Activate splice_read by default if write_buf is implemented.Nikolaus Rath-0/+4
2016-10-13do_init(): treat command line options consistentlyNikolaus Rath-0/+6
Previously, some command line options would change the FUSE defaults but leave the final value to the file systems `init` handler while others would override any changes made by `init`. Now, command line options do both: they modify the default, *and* take precedence.
2016-10-10Removed 'async_read' field in fuse_conn_infoNikolaus Rath-0/+6
This is redundant with the capability flags in `wants` and `capable`.
2016-10-09Added ChangeLog entry for commit 225c12aebf2d2f27e1d0.Nikolaus Rath-0/+5
2016-10-09Renamed cuses example and added test programNikolaus Rath-0/+2
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-09Renamed timefsN examples to fuse_notify_*Nikolaus Rath-6/+5
This should make it more obvious at first glance what the different examples do.
2016-10-09Dropped example/null.cNikolaus Rath-0/+4
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-0/+3
Fixes #32.
2016-10-08testfs2: Also test fuse_notify_retrieve().Nikolaus Rath-1/+2
2016-10-08Added timefs[12] examples.Nikolaus Rath-0/+4
These examplesdemonstrate the use of the `fuse_lowlevel_notify_store` and `fuse_lowlevel_notify_inval_inode` functions.
2016-10-08Removed ``-o big_writes`` optionNikolaus Rath-0/+7
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-03Released 3.0.0pre0Nikolaus Rath-2/+5
2016-10-02Added fuse_session_fd()Nikolaus Rath-0/+3
Fixes #59.
2016-10-02Don't handle --help and --version in fuse_session_new().Nikolaus Rath-6/+14
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-02Turn struct fuse_chan into an implementation detailNikolaus Rath-3/+64
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-0/+3
2016-10-02Introduce separate mount/umount functions for low-level API.Nikolaus Rath-0/+5
2016-09-27fuse_lowlevel_notify_*: take struct fuse_session instead of struct fuse_chanNikolaus Rath-0/+3
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-08-24Fixed typo.Nikolaus Rath-1/+1
2016-07-23Updated ChangeLogNikolaus Rath-0/+116
Started from most recent FUSE 2.9.7 ChangeLog, and added FUSE 3.0 changes based on inspection of total diff to master.