aboutsummaryrefslogtreecommitdiffstats
path: root/lib/modules/subdir.c
AgeCommit message (Collapse)AuthorLines
2025-07-16Add statx supportJoanne Koong-0/+19
This commit adds libfuse support for FUSE_STATX requests on linux distributions. Currently, statx is only supported on linux. To make the interface a ergonomic as possible (eg using native 'struct statx' vs 'struct fuse_statx'), this implementation gates the 'struct statx' changes by #ifdef linux. Signed-off-by: Joanne Koong <joannelkoong@gmail.com>
2025-06-27license: s/COPYING/GPL2.txt, s/COPYING.LIB/LGPL2.txtizxl007-1/+1
Signed-off-by: izxl007 <zeng.zheng@zte.com.cn>
2023-01-28Install a the configure_file (config.h) and use in headersBernd Schubert-1/+1
This addresses: https://github.com/libfuse/libfuse/issues/724 HAVE_LIBC_VERSIONED_SYMBOLS configures the library if to use versioned symbols and is set at meson configuration time. External filesystems (the main target, actually) include fuse headers and the preprocessor then acts on HAVE_LIBC_VERSIONED_SYMBOLS. Problem was now that 'config.h' was not distributed with libfuse and so HAVE_LIBC_VERSIONED_SYMBOLS was never defined with external tools and the preprocessor did the wrong decision. This commit also increases the the minimal meson version, as this depends on meson feature only available in 0.50 <quote 'meson' > WARNING: Project specifies a minimum meson_ version '>= 0.42' but uses features which were added in newer versions: * 0.50.0: {'install arg in configure_file'} </quote> Additionally the config file has been renamed to "fuse_config.h" to avoid clashes - 'config.h' is not very specific.
2019-11-03Implement lseek operation (#457)Yuri Per-0/+14
2019-09-04Introduce callback for loggingStefan Hajnoczi-4/+4
Introduce an API for custom log handler functions. This allows libfuse applications to send messages to syslog(3) or other logging systems. See include/fuse_log.h for details. Convert libfuse from fprintf(stderr, ...) to log_fuse(level, ...). Most messages are error messages with FUSE_LOG_ERR log level. There are also some debug messages which now use the FUSE_LOG_DEBUG log level. Note that lib/mount_util.c is used by both libfuse and fusermount3. Since fusermount3 does not link against libfuse, we cannot call fuse_log() from lib/mount_util.c. This file will continue to use fprintf(stderr, ...) until someone figures out how to split it up. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2017-07-06Don't redefine FUSE_USE_VERSIONNikolaus Rath-2/+0
It's already set in meson.build as compiler flag.
2016-10-20Turn fuse_operations.nopath_flag into fuse_config.nullpath_okNikolaus Rath-2/+2
Modifying struct fuse_config in the init() handler is the canonical way to adjust file-system implementation specific settings. There is no need to have flags in struct fuse_operations.
2016-10-20Pass struct fuse_config to high-level init() handler.Nikolaus Rath-2/+3
2016-10-15Pass fuse_file_info to getattr, chown, chmod, truncate, utimens handlersNikolaus Rath-38/+15
This obsoletes the ftruncate & fgetattr handlers. Fixes #58.
2014-07-15libfuse: add flags to ->rename()Miklos Szeredi-2/+2
See renameat2() system call in linux-3.15 and later kernels.
2014-03-05libfuse: implement readdirplus for high-level APIEric Wong-2/+3
Reuse the old "readdir" callback, but add a flags argument, that has FUSE_READDIR_PLUS in case this is a "plus" version. Filesystems can safely ignore this flag, but if they want they can add optimizations based on it: i.e. only retrieve the full attributes in PLUS mode. The filler function is also given a flags argument and the filesystem can set FUSE_FILL_DIR_PLUS if all the attributes in "stat" are valid.
2013-07-26Print help on stdout instead of stderrMiklos Szeredi-1/+1
2013-07-24libfuse: remove "-D_FILE_OFFSET_BITS=64" from fuse.pcMiklos Szeredi-0/+2
add AC_SYS_LARGEFILE to your configure.ac instead.
2012-07-20Remove compatibility path handlingMiklos Szeredi-1/+0
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-19Start of 3.0 seriesMiklos Szeredi-1/+1
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-04libfuse: mark some data constantMiklos Szeredi-2/+2
2011-07-06Add ->flock() operation to low and high level interfacesMiklos Szeredi-0/+13
This fixes problems with emulating flock() with POSIX locking. Reported by Sebastian Pipping. As with lock/setlk/getlk most filesystems don't need to implement this, as the kernel takes care of file locking. The only reason to implement locking operations is for network filesystems which want file locking to work between clients.
2010-11-10add read_buf method to high level APIMiklos Szeredi-4/+4
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-3/+3
Add new write_buf() method to the highlevel API. Similarly to the lowlevel write_buf() method, this allows implementing zero copy writes.
2010-06-15* Add a nopath option and flag, indicating that path argumentMiklos Szeredi-0/+1
need not be calculated for the following operations: read, write, flush, release, fsync, readdir, releasedir, fsyncdir, ftruncate, fgetattr, lock, ioctl and poll.
2008-02-08Support receiving file handle from kernel in GETATTR request; Allow ↵Miklos Szeredi-115/+133
operations with a NULL path argument, if the filesystem supports it
2007-12-12change indentingMiklos Szeredi-455/+458
2007-10-16Clarify licence version to be "LGPLv2" for the libraryMiklos Szeredi-1/+1
2007-05-11update flush changesMiklos Szeredi-1/+1
2007-04-28docMiklos Szeredi-1/+8
2007-02-03Add filesystem stacking support to high level APIMiklos Szeredi-0/+655