aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)AuthorLines
2016-10-17Update linker scriptNikolaus Rath-2/+2
- Fixes commit d49f2e77b4. - Fixes commit 199fc0f833. - Thanks to Github user mtheall for the review!
2016-10-17fuse_session_new(): accept --debugNikolaus Rath-1/+1
Fixes commit 3e022acf4076. Thanks to Github user mtheall for the review!
2016-10-16Inlined fuse_mount_help() into fuse_lowlevel_help().Nikolaus Rath-21/+6
Both the BSD and Linux implementation actually accept mostly the same FUSE-specific mount options. Up to now, the BSD help function appended the output of ``mount_fusefs --help``, but looking at http://www.unix.com/man-page/freebsd/8/mount_fusefs/ this is likely more confusing than helpful (since the user is not actually invoking mount_fusefs directly, most of the options don't make sense).
2016-10-16fuse_session_new: accept -o debug as synonym for -dNikolaus Rath-0/+1
2016-10-15Make --help output more suitable for end-userNikolaus Rath-21/+16
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-2/+0
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-47/+0
This brings the default behavior in-line with that of the regular `mount` command.
2016-10-15Drop -o large_read mount optionNikolaus Rath-3/+0
This was only relevant for 2.4 kernels. Fixes #92.
2016-10-15Pass fuse_file_info to getattr, chown, chmod, truncate, utimens handlersNikolaus Rath-158/+63
This obsoletes the ftruncate & fgetattr handlers. Fixes #58.
2016-10-15Unify handling of fuse_conn_info optionsNikolaus Rath-123/+127
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-15Merge branch 'fixup-lock-options'Nikolaus Rath-0/+3
2016-10-15Re-activated lost no_remote_*lock options.Nikolaus Rath-0/+3
2016-10-13do_init(): treat command line options consistentlyNikolaus Rath-47/+53
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-13Make -o clone_fd into a parameter of session_loop_mt().Nikolaus Rath-11/+12
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-13Move session options into sub-structNikolaus Rath-38/+40
The session options are used only once to determine the proper conn->want flags. It is nice to have them clearly separated from the other struct fuse_session members that are used throughout the life of the file system.
2016-10-13Use NULL for option processing function where possible.Nikolaus Rath-10/+1
2016-10-13Activate splice_read by default if write_buf is implemented.Nikolaus Rath-0/+1
2016-10-10Factored out LL_OPTIONS macroNikolaus Rath-34/+36
2016-10-10Removed 'async_read' field in fuse_conn_infoNikolaus Rath-8/+13
This is redundant with the capability flags in `wants` and `capable`.
2016-10-10Make several -o NN options work againNikolaus Rath-5/+5
In commit 2ed7af, we accidentally set the default values *after* parsing the command line arguments.
2016-10-10Use "se" instead of "f" for fuse_session pointer where possible.Nikolaus Rath-52/+53
These changes were generated with the following Coccinelle semantic patch: @@ symbol f, se; // avoid unneeded warnings from Coccinelle @@ struct fuse_session * -f +se ; <... -f +se ...> @@ identifier fn; @@ fn(...,struct fuse_session * -f +se ,...) { <... -f +se ...> }
2016-10-10fuse_main(): extend support for printing helpNikolaus Rath-0/+3
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-09fuse_main_real(): use fuse_parse_cmdline().Nikolaus Rath-11/+1
2016-10-09fuse_parse_cmdline(): do not print help/version textNikolaus Rath-35/+4
The current behavior makes it difficult to add help for additional options. With the change, this becomes a lot easier.
2016-10-09Added missing export of fuse_pkgversion.Nikolaus Rath-0/+1
2016-10-09Fix valgrind warningNikolaus Rath-0/+1
If we don't assign a value to padding, we get a warning about reading uninitialized data when sending the iovec to the kernel.
2016-10-08Removed ``-o big_writes`` optionNikolaus Rath-9/+4
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-05Remove pointless aliasing of fuse_session *se to *fNikolaus Rath-34/+9
This is an overlooked artifact of the fuse_ll-fuse_session merge.
2016-10-05Removed obsolete, unused *f member from struct fuse_session.Nikolaus Rath-1/+0
2016-10-04Merge fuse_ll into fuse_session (part 8)Nikolaus Rath-6/+6
Replaced "req->se" with "f" where the latter is already defined.
2016-10-04Merge fuse_ll into fuse_session (part 7)Nikolaus Rath-34/+30
Remove pointless aliasing of "struct fuse_session *se" to "struct fuse_session *f".
2016-10-04Merge fuse_ll into fuse_session (part 6)Nikolaus Rath-3/+1
Fixup cuse_lowlevel_new().
2016-10-04Merge fuse_ll into fuse_session (part 5)Nikolaus Rath-13/+3
Fixup fuse_session_new().
2016-10-04Merge fuse_ll into fuse_session (part 4)Nikolaus Rath-9/+3
Merge fuse_ll_destroy() and fuse_session_destroy().
2016-10-04Merge fuse_ll into fuse_session (part 3)Nikolaus Rath-16/+15
Replace se->f with se.
2016-10-04Merge fuse_ll into fuse_session (part 2)Nikolaus Rath-117/+117
Replaced all references to req->f with req->se.
2016-10-04Merge fuse_ll into fuse_session (part 1)Nikolaus Rath-76/+72
Merged the structures, and replaced fuse_ll with fuse_session in all type definitions.
2016-10-04fuse_mount_help(): clarify that listed options are FUSE specificNikolaus Rath-2/+2
We also accept a number of mount options that are common to all file systems (nosuid, nodev, ro, etc).
2016-10-04Clarified purpose of helper.c, moved *version() to fuse.cNikolaus Rath-10/+14
2016-10-03Merge master fuse_chan into fuse_session.Nikolaus Rath-220/+101
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 :-).
2016-10-03fuse_lowlevel_notify_poll(): use master channelNikolaus Rath-5/+4
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.
2016-10-03Store struct fuse_session* in struct fuse_reqNikolaus Rath-5/+6
2016-10-03Released 3.0.0pre0Nikolaus Rath-1/+1
2016-10-02Added fuse_session_fd()Nikolaus Rath-0/+6
Fixes #59.
2016-10-02Merged fuse_session.c into fuse_lowlevel.cNikolaus Rath-114/+95
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.
2016-10-02Merged fuse_mt.c into fuse.cNikolaus Rath-26/+14
There is no point in having a separate file for a 10 line function.
2016-10-02Extended per-file comments.Nikolaus Rath-0/+24
This should make more clear what file contains code for what purpose.
2016-10-02Don't handle --help and --version in fuse_session_new().Nikolaus Rath-211/+190
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-02fuse_mount_opts: don't keep max_read= option.Nikolaus Rath-2/+0
There is no consumer of it down the line.
2016-10-02Add section headings for --help outputNikolaus Rath-13/+13
Also, do not include "General options" in usage message.