aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorLines
2013-05-20fuse: synchronize fuse_kernel.h header with the linux kernelMiklos Szeredi-220/+216
Check for __KERNEL__ instead of __linux__ and use the standard int types instead of the linux specific ones.
2013-03-19Merge branch 'fuse_2_9_bugfix'Miklos Szeredi-0/+9
2013-03-19libfuse: fix thread cancel raceMiklos Szeredi-0/+8
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-20libfuse: don't force -D_FILE_OFFSET_BITS=64 in pkgconfig file.Richard W.M. Jones-5/+17
FUSE_CFLAGS defines -D_FILE_OFFSET_BITS=64. There are three problems with this: (1) A larger program using libfuse might have modules compiled with and without FUSE_CFLAGS, which, if LFS is not enabled and the platform is 32 bit, would result in a fatal mix of 32 and 64 bit off_t. (This would, of course, be a bug, but I think there is a better way to detect this -- see below) (2) Programs may need to be adjusted to support LFS. It's the intention of the LFS standard that the _programmer_ enables LFS once the program has been checked/adjusted. (3) _FILE_OFFSET_BITS does not need to be defined at all on 64 bit Linux. 64 bit off_t is the default there. So I think it's better not to force -D_FILE_OFFSET_BITS=64, and because of (3) I also think you shouldn't test for it. However off_t must still be 64 bits, so how to enforce that? C1X will define static assertions[1], and these can be used to check the size of off_t. Not all compilers support static assertions yet, although several do. Therefore I have surrounded the static assertion with a conservative check that the compiler is GCC >= 4.6. In the long run, this test can be removed and you can just use 'static_assert'.
2013-02-20cuse: clean includesMiklos Szeredi-1/+0
2013-02-20libfuse: use O_CLOEXEC flag when opening /dev/fuse deviceRichard W.M. Jones-1/+10
2013-02-20libfuse: 64bit fuse_ino_tMiklos Szeredi-2/+7
Change the type of fuse_ino_t from 'unsigned long' to 'uint64_t'. This only changes the size on 32bit architectures.
2013-02-19fuse_daemonize(): chdir to "/" even if not running in the backgroundMiklos Szeredi-0/+7
for consistency. Reported by Vladimir Rutsky
2013-02-19fuse_opt_parse(): fix memory leakMiklos Szeredi-3/+12
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-08remove <utime.h> include from <fuse.h>Miklos Szeredi-1/+0
2013-02-08libfuse: remove struct fuse_cmdMiklos Szeredi-9/+0
2013-02-08update .gitignoreMiklos Szeredi-1/+1
2013-02-08libfuse: remove deprecated fuse_operations.utime_omit_okMiklos Szeredi-16/+3
2013-02-08libfuse: remove deprecated fuse_operations.utime()Miklos Szeredi-16/+1
2013-02-08libfuse: remove deprecated fuse_operations.getdir()Miklos Szeredi-43/+2
2013-02-08libfuse: remove deprecated fuse_lowlevel_is_lib_option()Miklos Szeredi-9/+1
2013-02-08libfuse: remove deprecated fuse_exited()Miklos Szeredi-18/+1
2013-02-08libfuse: remove deprecated fuse_setup(), fuse_teardown()Miklos Szeredi-13/+4
2013-02-08libfuse: remove deprecated fuse_read_cmd(), fuse_process_cmd()Miklos Szeredi-58/+2
2013-02-08libfuse: remove deprecated fuse_loop_mt_proc()Miklos Szeredi-102/+2
2013-02-08libfuse: remove deprecated fuse_set_getcontext_func()Miklos Szeredi-10/+1
2013-02-08libfuse: remove deprecated fuse_invalidate()Miklos Szeredi-15/+1
2013-02-08libfuse: remove deprecated fuse_is_lib_option()Miklos Szeredi-10/+3
2013-02-08libfuse: pass security context options to kernelDalvik Khertel-0/+7
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/+21
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/+5
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-3/+13
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-2/+126
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-07fuse_kernel.h: clean includesRiku Voipio-1/+5
Use <linux/types.h> for linux and define types used for other operating systems using <stdint.h> types.
2013-02-06libfuse: Add '[no_]auto_inval_data' mount optionFeng Shuo-12/+31
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: add missing INIT flagsMiklos Szeredi-0/+14
Add missing flags that userspace derived from the protocol version number. This makes the protocol more flexible.
2013-02-06libfuse: set close-on-exec flag on pipe file descriptorsEric Wong-10/+32
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/+35
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-05Create doc/.gitignoreMiklos Szeredi-0/+1
2013-02-04Merge branch 'fuse_2_9_bugfix'Miklos Szeredi-121/+213
2013-02-04libfuse: rename ./configure.in to ./configure.acAnatol Pomozov-0/+3
Next version of automake (1.14) removes support for the deprecated filename http://lists.gnu.org/archive/html/autotools-announce/2013-01/msg00000.html
2013-02-04libfuse: Use AC_CONFIG_HEADERS instead of AM_CONFIG_HEADERAnatol Pomozov-1/+4
AM_CONFIG_HEADER has been deprecated for years and autotools 1.13 removes this macros at all.
2013-02-04libfuse: configure: detect new util-linuxMiklos Szeredi-2/+8
Apparently new versions of util-linux umount return with an exit status of 1 even if the "--fake" option is recognised (despite being documented otherwise). Check this condition and don't complain about util-linux version.
2013-02-04libfuse: fix the 'remember' optionMadan Valluri-0/+8
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/+6
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-2/+7
2012-10-01Fix deadlock in libfuseMiklos Szeredi-118/+173
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/+7
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/+23
2012-08-14Zero out node when allocating from a slab.Miklos Szeredi-10/+4
Fix compile warning when not using node slab.