aboutsummaryrefslogtreecommitdiff
path: root/lib/cuse_lowlevel.c
Commit message (Collapse)AuthorAge
* Don't use external symbol names in internal filesGravatar Nikolaus Rath2017-09-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fuse_session_loop_mt() and fuse_loop_mt() symbols are only visible when linking against the shared object. The code in lib/, however, is compiled *into* the shared object and should thus use the internal names of these functions. Surprisingly enough, the code still worked before - but only when link time optimization was disabled. Unfortunately, we still can't compile with LTO because it seems that enabling LTO somehow makes the tagged symbols vanish. Without lto, we have: $ nm lib/libfuse3.so | grep fuse_new 0000000000011070 T fuse_new_30 0000000000010a00 t fuse_new_31 0000000000011070 T fuse_new@FUSE_3.0 0000000000010a00 T fuse_new@@FUSE_3.1 and with LTO: $ nm lib/libfuse3.so | grep fuse_new 0000000000019a70 T fuse_new_30 0000000000019270 t fuse_new_31 See also issue #198.
* Add idle_threads mount option.Gravatar Joseph Dodge2017-08-24
|
* Use "se" instead of "f" for struct fuse_sessionGravatar Nikolaus Rath2016-10-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fuse_session pointer is sometimes called f and at other times se. The former is an artifact from the time when there still was a separate struct fuse_ll object. For consistency and to easy maintenance, this patch changes the name of the fuse_session pointer to "se" wherever possible. This patch was generated by the following Coccinelle script: @@ symbol f, se; @@ struct fuse_session * -f +se ; <... -f +se ...> @@ expression expr; @@ struct fuse_session * -f +se = expr; <... -f +se ...> @@ identifier fn; @@ fn(...,struct fuse_session * -f +se ,...) { <... -f +se ...> } Due to its complexity, the do_init() function had to be commented out and then patched manually.
* Make -o clone_fd into a parameter of session_loop_mt().Gravatar Nikolaus Rath2016-10-13
| | | | | | 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.
* Merge fuse_ll into fuse_session (part 6)Gravatar Nikolaus Rath2016-10-04
| | | | Fixup cuse_lowlevel_new().
* 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.
* 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 :-).
* 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.
* Renamed fuse_lowlevel_new() to fuse_session_new().Gravatar Nikolaus Rath2016-10-02
|
* cuse_lowlevel.setup(): fix double free of local variable 'args'Gravatar Winfried Koehler2016-03-11
| | | | Signed-off-by: Winfried Koehler <w_scan@gmx-topmail.de>
* libfuse: remove "-D_FILE_OFFSET_BITS=64" from fuse.pcGravatar Miklos Szeredi2013-07-24
| | | | add AC_SYS_LARGEFILE to your configure.ac instead.
* libfuse: remove session and chan abstractionsGravatar Miklos Szeredi2013-06-21
| | | | | | There's actually just one type of channel and session, so we don't need the generic callback functions.
* libfuse: remove fuse_chan_bufsize()Gravatar Miklos Szeredi2013-06-21
| | | | | | | Remove fuse_chan_bufsize() from the lowlevel API. fuse_session_receive_buf() is now responsible for allocating memory for the buffer.
* cuse: clean includesGravatar Miklos Szeredi2013-02-20
|
* Remove compat functionsGravatar Miklos Szeredi2012-07-19
|
* Revert "Add mmap() and munmap() methods to low level API"Gravatar Miklos Szeredi2012-01-24
| | | | | | | | | | This partially reverts commit 4b2157c44e6ad7e692fcffb7450143e83151d36b. Remove mmap/munmap suppor as this missed the interface changes for Linux-3.3 (API version 7.18). Only revert the mmap/munmap bits and leave the retrieve_reply API fix in place as well as the optimization in fuse_send_data_iov_fallback().
* Add mmap() and munmap() methods to low level APIGravatar Miklos Szeredi2011-12-06
| | | | | Currently this is only useful for CUSE. Also update retrieve_reply() method.
* cuse: fix minor typos in error messagesGravatar Miklos Szeredi2010-08-27
| | | | | | | | This basically was a %s/fuse:/cuse:/ to remove some apparent copy/paste errors. Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
* * Add missing fuse_session_data to versionscriptGravatar Miklos Szeredi2009-08-18
| | | | | | * Make sure all global symbols are prefixed with "fuse_" or "cuse_" * Released 2.8.0
* CUSE patches from Tejun Heo (add new files)Gravatar Miklos Szeredi2009-06-18