aboutsummaryrefslogtreecommitdiffstats
path: root/lib/fuse_versionscript
AgeCommit message (Collapse)AuthorLines
2020-08-09Define fuse_session_loop_mt as a macro on uclibc and MacOS (#532)asafkahlon-0/+1
On uclibc and MacOS we don't use versioned symbols. Hence, there's no definition for fuse_session_loop_mt on those cases and the linker won't be able to resolve calls to fuse_session_loop_mt() Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
2020-01-02Fixed an issue with the linker version script. (#483)Bill Zissimopoulos-1/+1
Fixes #467.
2019-11-03Implement lseek operation (#457)Yuri Per-0/+2
2019-09-10log: move fuse_log() to the public header fileStefan Hajnoczi-0/+6
Applications may wish to call fuse_log() for unified logging. This way they don't need to define their own wrappers to invoke the log message handler function installed by fuse_set_log_func(). Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2018-11-19libfuse: add copy_file_range() supportNiels de Vos-0/+6
Add support for the relatively new copy_file_range() syscall. Backend filesystems can now implement an efficient way of cloning/duplicating data ranges within files. See 'man 2 copy_file_range' for more details.
2018-10-09Add unprivileged option in `mount.fuse3`Mattias Nissler-0/+5
The unprivileged option allows to run the FUSE file system process without privileges by dropping capabilities and preventing them from being re-acquired via setuid / fscaps etc. To accomplish this, mount.fuse sets up the `/dev/fuse` file descriptor and mount itself and passes the file descriptor via the `/dev/fd/%u` mountpoint syntax to the FUSE file system.
2017-09-19Fix versioned symbols in version scriptNikolaus Rath-1/+4
According to "How to Write Shared Libraries" by Ulrich Drepper (https://www.akkadia.org/drepper/dsohowto.pdf), the version script should contain the exported name of the versioned symbol once in each tag for which it has been defined by .symver.
2017-08-24Add idle_threads mount option.Joseph Dodge-0/+6
2017-08-24Allow inode cache invalidation in high-level APISławek Rudnicki-0/+1
We re-introduce the functionality of invalidating the caches for an inode specified by path by adding a new routine fuse_invalidate_path. This is useful for network-based file systems which use the high-level API, enabling them to notify the kernel about external changes. This is a revival of Miklos Szeredi's original code for the fuse_invalidate routine.
2017-07-08Added public fuse_lib_help(), bumped minor versionNikolaus Rath-0/+6
2017-05-25Remove fuse_fs_fgetattr and fuse_fs_ftruncate from linker scriptpablomh-2/+0
They were removed from source here: https://github.com/libfuse/libfuse/commit/73b6ff4b75cf1228ea61262c293fcb2fda5dfeea
2016-10-17Update linker scriptNikolaus Rath-2/+2
- Fixes commit d49f2e77b4. - Fixes commit 199fc0f833. - Thanks to Github user mtheall for the review!
2016-10-09fuse_parse_cmdline(): do not print help/version textNikolaus Rath-0/+1
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-02Added fuse_session_fd()Nikolaus Rath-0/+1
Fixes #59.
2016-10-02Don't handle --help and --version in fuse_session_new().Nikolaus Rath-0/+4
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-5/+0
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-1/+1
2016-10-02Introduce separate mount/umount functions for low-level API.Nikolaus Rath-0/+2
2016-10-02Tell emacs to use tabs for linkerscript.Nikolaus Rath-0/+4
2013-06-21libfuse: remove fuse_chan_bufsize()Miklos Szeredi-1/+0
Remove fuse_chan_bufsize() from the lowlevel API. fuse_session_receive_buf() is now responsible for allocating memory for the buffer.
2013-06-21libfuse: clean up fuse_chanMiklos Szeredi-4/+0
Clean up fuse_chan related interfaces. Remove the following from the lowlevel library API: struct fuse_chan_ops; fuse_chan_new(); fuse_chan_session(); fuse_chan_recv(); fuse_chan_send();
2013-06-21libfuse: clean up fuse_sessionMiklos Szeredi-3/+0
Clean up fuse_session related interfaces. Remove the following from the lowlevel library API: struct fuse_session_ops; fuse_session_new(); fuse_session_process(); fuse_session_data();
2013-06-21libfuse: replace fuse_session_next_chanMiklos Szeredi-1/+1
Replace fuse_session_next_chan() with fuse_session_chan(), as multiple channels per session were never actually supported and probably never will.
2013-06-20libfuse: remove channel user dataMiklos Szeredi-1/+0
2013-02-22remove real fuse_main() symbolMiklos Szeredi-1/+0
2013-02-22clean fuse_chan_receive from versionscriptMiklos Szeredi-1/+0
2013-02-08libfuse: remove deprecated fuse_lowlevel_is_lib_option()Miklos Szeredi-1/+0
2013-02-08libfuse: remove deprecated fuse_exited()Miklos Szeredi-1/+0
2013-02-08libfuse: remove deprecated fuse_setup(), fuse_teardown()Miklos Szeredi-2/+0
2013-02-08libfuse: remove deprecated fuse_read_cmd(), fuse_process_cmd()Miklos Szeredi-2/+0
2013-02-08libfuse: remove deprecated fuse_loop_mt_proc()Miklos Szeredi-1/+0
2013-02-08libfuse: remove deprecated fuse_set_getcontext_func()Miklos Szeredi-1/+0
2013-02-08libfuse: remove deprecated fuse_invalidate()Miklos Szeredi-1/+0
2013-02-08libfuse: remove deprecated fuse_is_lib_option()Miklos Szeredi-1/+0
2013-02-07libfuse: add readdirplus support in fuse_lowlevel_opsFeng Shuo-0/+1
This patch implements readdirplus support in FUSE usersapce. It adds a new fuse lowlevel operations fuse_lowleve_ops::readdir_plus, corespoding mount options and helper functions to maintain buffer. [From: Eric Wong <normalperson@yhbt.net>] This makes our terminology consistent with NFS and our kernel module, as well as reducing user/developer confusion in the command-line. Note: I'm keeping "fuse_add_direntry_plus" since that is less standardized in its use than "readdirplus" for now. Signed-off-by: Feng Shuo <steve.shuo.feng@gmail.com>
2012-07-19Remove compat functionsMiklos Szeredi-3/+0
2012-07-19Remove old symbol versionsMiklos Szeredi-55/+2
2012-06-18Add FALLOCATE operationAnatol Pomozov-1/+6
fallocate filesystem operation preallocates media space for the given file. If fallocate returns success then any subsequent write to the given range never fails with 'not enough space' error.
2012-04-20Add missing fuse_fs_flock to fuse_versionscriptMiklos Szeredi-0/+1
2012-01-24Revert "Add mmap() and munmap() methods to low level API"Miklos Szeredi-1/+0
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().
2011-12-07libfuse: Notifying the kernel of deletion.John Muir-0/+1
libfuse part to allow a FUSE file-system to tell the kernel when a file or directory is deleted. If the specified dentry has the specified inode number, the kernel will unhash it. Signed-off-by: John Muir <john@jmuir.com> Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
2011-12-06Add mmap() and munmap() methods to low level APIMiklos Szeredi-0/+1
Currently this is only useful for CUSE. Also update retrieve_reply() method.
2011-06-02add "remember" optiontherealneworld@gmail.com-0/+3
This works similar to "noforget" except that eventually the node will be allowed to expire from the cache.
2010-11-10add read_buf method to high level APIMiklos Szeredi-0/+1
Add a new read_buf() method to the highlevel API. This allows returning a generic buffer from the read method, which in turn allows zero copy reads.
2010-11-10add write_buf method to high level APIMiklos Szeredi-0/+1
Add new write_buf() method to the highlevel API. Similarly to the lowlevel write_buf() method, this allows implementing zero copy writes.
2010-11-08libfuse: add retrieve requestMiklos Szeredi-0/+1
Retrieve data stored in the kernel buffers for a given inode.
2010-11-08libfuse: add store requestMiklos Szeredi-0/+1
Request data to be stored in the kernel buffers for a given inode.
2010-11-08libfuse: support zero copy writes in lowlevel interfaceMiklos Szeredi-0/+2
Add new ->write_buf() method to low level interface. This allows passig a generic buffer, either containing a memory buffer or a file descriptor. This allows implementing zero copy writes. Add fuse_session_receive_buf() and fuse_session_process_buf() which may be used in event loop implementations to replace fuse_chan_recv() and fuse_session_process() respectively.
2010-09-28Fix ambiguous symbol version for fuse_chan_newMiklos Szeredi-1/+0
fuse_versionscript included fuse_chan_new in both FUSE_2.4 and FUSE_2.6. Remove the FUSE_2.4, which is invalid. Reported by Raymes Khoury, who discovered this with the gold linker