aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)AuthorLines
2013-03-19Merge branch 'fuse_2_9_bugfix'Miklos Szeredi-0/+3
2013-03-19libfuse: fix thread cancel raceMiklos Szeredi-0/+2
Exiting a worker my race with cancelling that same worker. This caused a segmenation fault. Reported and tested by Anatol Pomozov
2013-02-22remove real fuse_main() symbolMiklos Szeredi-9/+0
2013-02-22clean fuse_chan_receive from versionscriptMiklos Szeredi-1/+0
2013-02-21fix fi->fh format stringsMiklos Szeredi-2/+2
2013-02-21Fix nodeid format stringsMiklos Szeredi-8/+11
2013-02-20cuse: clean includesMiklos Szeredi-1/+0
2013-02-20libfuse: use O_CLOEXEC flag when opening /dev/fuse deviceRichard W.M. Jones-1/+7
2013-02-19fuse_daemonize(): chdir to "/" even if not running in the backgroundMiklos Szeredi-0/+2
for consistency. Reported by Vladimir Rutsky
2013-02-19fuse_opt_parse(): fix memory leakMiklos Szeredi-1/+3
when storing a newly allocated string for format "%s", free the previous value stored at that location. Reported by Marco Schuster
2013-02-18Add "nopath" to help.Miklos Szeredi-0/+1
2013-02-08libfuse: remove struct fuse_cmdMiklos Szeredi-6/+0
2013-02-08libfuse: remove deprecated fuse_operations.utime_omit_okMiklos Szeredi-5/+1
2013-02-08libfuse: remove deprecated fuse_operations.utime()Miklos Szeredi-10/+0
2013-02-08libfuse: remove deprecated fuse_operations.getdir()Miklos Szeredi-30/+0
2013-02-08libfuse: remove deprecated fuse_lowlevel_is_lib_option()Miklos Szeredi-6/+0
2013-02-08libfuse: remove deprecated fuse_exited()Miklos Szeredi-6/+0
2013-02-08libfuse: remove deprecated fuse_setup(), fuse_teardown()Miklos Szeredi-4/+2
2013-02-08libfuse: remove deprecated fuse_read_cmd(), fuse_process_cmd()Miklos Szeredi-49/+0
2013-02-08libfuse: remove deprecated fuse_loop_mt_proc()Miklos Szeredi-98/+1
2013-02-08libfuse: remove deprecated fuse_set_getcontext_func()Miklos Szeredi-7/+0
2013-02-08libfuse: remove deprecated fuse_invalidate()Miklos Szeredi-8/+0
2013-02-08libfuse: remove deprecated fuse_is_lib_option()Miklos Szeredi-7/+0
2013-02-08libfuse: pass security context options to kernelDalvik Khertel-0/+4
Mount can be used with an "-o context=" option in order to specify a mountpoint-wide SELinux security context different from the default context provided by the active SELinux policy. This is useful in order to enable users to mount multiple sshfs targets under distinct contexts, which is my main motivation for getting this patch mainlined.
2013-02-07libfuse: allow disabling adaptive readdirplusEric Wong-4/+17
This switches the -o no_readdirplus option to a tristate string: -o readdirplus=(yes|no|auto) Telling the kernel to always use readdirplus is beneficial to filesystems (e.g. GlusterFS) where the cost to perform readdir and readdirplus are identical. The default remains "auto" (if supported).
2013-02-07libfuse-fix-fs-cleanupMiklos Szeredi-4/+3
This fixes a segmentation fault if command-line option parsing fails during initialization. Reported by Eric Wong
2013-02-07libfuse: add poll_events to fuse_file_infoEnke Chen-2/+4
Make requested poll events available to the filesystem. If the requested eventsare not available, then this field is zero.
2013-02-07libfuse: add readdirplus support in fuse_lowlevel_opsFeng Shuo-1/+49
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>
2013-02-06libfuse: Add '[no_]auto_inval_data' mount optionFeng Shuo-0/+13
Several caching logic changes have been made on the kernel side to better support network-based fuse filesystems. These include kernel side mtime checking and read path cache revalidation. The new caching logic is enabled through the FUSE_AUTO_INVAL_DATA init flag. Export this to the user via the '[no_]auto_inval_data' mount option. Signed-off-by: Feng Shuo <steve.shuo.feng@gmail.com>
2013-02-06libfuse: set close-on-exec flag on pipe file descriptorsEric Wong-9/+26
The FUSE library may be used from any number of programs which may also fork() + execve(), so set the close-on-exec flag to avoid inadvertant leakage of pipe file descriptors. While we're at it, attempt to use pipe2() since this is within a (currently) Linux-only code path and pipe2() offers thread-safety.
2013-02-05libfuse: fix fuse_get_context() in non fuse threadsMiklos Szeredi-18/+30
fuse_interrupted(), fuse_get_context(), etc... crashed in non-fuse threads. Instead return false, NULL or error depending on the function. Reported by Michael Berlin
2013-02-04Merge branch 'fuse_2_9_bugfix'Miklos Szeredi-118/+176
2013-02-04libfuse: fix the 'remember' optionMadan Valluri-0/+4
The lru list was not initialized for the "/" path. This resulted in remove_node_lru() crashing on LOOKUP-DOTDOT. Patch by Madan Valluri. -- ChangeLog | 4 ++++ lib/fuse.c | 4 ++++ 2 files changed, 8 insertions(+)
2013-02-04libfuse: fix crash in unlock_path()Ratna_Bolla@dell.com-0/+2
Patch by Ratna Manoj. queue_element_unlock() should set ->first_locked and ->second_locked to false. Discovered with 'fs_racer'. The assert(wnode->treelock == TREELOCK_WRITE) in unlock_path() was hit within minutes. Miklos: simplified patch
2012-10-01Released 2.9.2Miklos Szeredi-1/+1
2012-10-01Fix deadlock in libfuseMiklos Szeredi-118/+167
Running "svn update" on a fuse filesystem could deadlock because of a bug in the way the paths are locked. Reported by Kazuaki Anami
2012-08-24Fix missing config.h in buffer.cMiklos Szeredi-0/+3
Due to an oversight, splice will never actually be used for i/o. Someone forgot to #include "config.h" in lib/buffer.c (in fact almost no files include that header). As a result, even though configure detects splice support and puts HAVE_SPLICE in config.h, buffer.c is always compiled as if there is no splice support. Also add #include "config.h" to fuse.c and fuse_lowlevel.c. These currently include it indirectly through fuse_misc.h, but we don't want to depend on that. Reported by Matthew Gabeler-Lee
2012-08-14Merge branch 'fuse_2_9_bugfix'Miklos Szeredi-13/+15
2012-08-14Zero out node when allocating from a slab.Miklos Szeredi-10/+4
Fix compile warning when not using node slab.
2012-08-14Fix "fuse internal error: node NNN not found"Miklos Szeredi-4/+12
Commit 4dc7e675bb (Don't unhash name in FORGET) broke the forget logic in a subtle way, resulting in "fuse internal error: node NNN not found" and causing the filesystem daemon to abort. Fix by incrementing the node refcount if nlookup goes from zero to one. Reported by Kyle Lippincott
2012-07-20Remove compatibility path handlingMiklos Szeredi-20/+3
This means that now NULL is a valid path for operations that take a file descriptor if the file was unlinked and hard_remove option is specified.
2012-07-19Remove compat functionsMiklos Szeredi-604/+34
2012-07-19Remove old symbol versionsMiklos Szeredi-111/+2
2012-07-19Start of 3.0 seriesMiklos Szeredi-4/+4
Change the version numbers. This is going to be a new major version of the library breaking backward compatibility on the binary level as well as the source level.
2012-07-19Released 2.9.1Miklos Szeredi-1/+1
2012-07-19Fix crash caused by freeing a stack addressMiklos Szeredi-1/+1
The failure path of try_get_path2() erronously tried to free the "path1" value (an address on the stack) instead of the allocated string pointed to by "path1". This caused the library to crash. Reported by Itay Perl
2012-07-04libfuse: mark some data constantMiklos Szeredi-6/+6
2012-06-18Add FALLOCATE operationAnatol Pomozov-1/+57
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-05-16Fix -pthread in fuse.pcMiklos Szeredi-1/+1
Linking to a library that uses threads requires the application to be linked with -pthreads otherwise some pthread functions will be linked to stubs in glibc. So move -pthread from Libs.private to Libs in fuse.pc. Reported by Werner Fink
2012-04-20Add missing fuse_fs_flock to fuse_versionscriptMiklos Szeredi-0/+1