aboutsummaryrefslogtreecommitdiffstats
path: root/lib/fuse.c
AgeCommit message (Collapse)AuthorLines
2011-12-08FUSE_NODE_SLAB buildfixEmmanuel Dreyfus-11/+11
When FUSE_NODE_SLAB is not defined, the build fails because of undefined functions. Attached patch fixes the problem.
2011-08-24add lru for remember optiontherealneworld@gmail.com-41/+89
Use LRU list for cleaning up the cache if the "remember=T" option was given.
2011-07-06Add ->flock() operation to low and high level interfacesMiklos Szeredi-0/+44
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.
2011-06-02add "remember" optiontherealneworld@gmail.com-8/+177
This works similar to "noforget" except that eventually the node will be allowed to expire from the cache.
2011-05-19Add ->forget_multi() operationMiklos Szeredi-4/+22
Add ->forget_multi() operation to the lowlevel API. The filesystem may implement this to process multiple forget requests in one call
2011-03-30Initialize an allocated, but uninitialized memoryLaszlo Papp-1/+1
2011-03-30Remove unnecessary variable assignmentMiklos Szeredi-1/+0
2011-03-30Fix use after free if fuse_reply...() returned ENOENTMiklos Szeredi-6/+0
2011-03-30Fix a potential resource leakLaszlo Papp-1/+3
2011-03-30Use the return value for error checkLaszlo Papp-3/+2
2011-02-17Add -onoforget to help outputMiklos Szeredi-0/+1
2011-01-31Fix warning in hash calculationMiklos Szeredi-1/+1
Fix the following warning: fuse.c:436: warning: this decimal constant is unsigned only in ISO C90
2010-12-20Highlevel lib: add slab allocation for node cacheMiklos Szeredi-9/+180
This will allow the memory used by the filesystem to grow and shrink depending on how many inodes are currently cached.
2010-12-20inline short namesMiklos Szeredi-13/+16
In the high level library store names shorter than 32 characters inside "struct node". Longer names are allocated as previously.
2010-12-20Highlevel lib: allow hash tables to shrinkMiklos Szeredi-1/+77
Allow hash tables to shrink as well as grow.
2010-12-13Highlevel lib: use dynamically resized hash tableMiklos Szeredi-43/+153
Use dynamically resized hash table for looking up by name and node ID. The chosen implementation is linear hashing, which features gradual rehashing when while the size of the table increases.
2010-11-10add read_buf method to high level APIMiklos Szeredi-23/+73
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-10/+55
Add new write_buf() method to the highlevel API. Similarly to the lowlevel write_buf() method, this allows implementing zero copy writes.
2010-11-08Fix st_nlink for unlinked but still open filesMiklos Szeredi-5/+9
Fix st_nlink value in high level lib if file is unlinked but still open
2010-08-27Add NetBSD supportMiklos Szeredi-6/+6
The bulk of it is just about adding ifdef __NetBSD__ where there is already an ifdef __FreeBSD__ Add a arch=netbsd to deal with NetBSD specifics. I suggests that arch=bsd could be renamed to arch=freebsd NetBSD specific linking with -lperfuse NetBSD patches to lib/mount.c. It turned to be less itrusive to patch mount;c than mount_bsd.c. I suggest mount_bsd.c could be renamed to mount_freebsd.c Patch from Emmanuel Dreyfus
2010-06-15* Add a nopath option and flag, indicating that path argumentMiklos Szeredi-26/+70
need not be calculated for the following operations: read, write, flush, release, fsync, readdir, releasedir, fsyncdir, ftruncate, fgetattr, lock, ioctl and poll.
2009-08-25Fix missing versioned symbol fuse_get_context@FUSE_2.2Miklos Szeredi-0/+12
2009-07-02* The context is extended with a 'umask' field. The umask is sentMiklos Szeredi-5/+10
for mknod, mkdir and create requests by linux kernel version 2.6.31 or later, otherwise the umask is set to zero. Also introduce a new feature flag: FUSE_CAP_DONT_MASK. If the kernel supports this feature, then this flag will be set in conn->capable in the ->init() method. If the filesystem sets this flag in in conn->want, then the create modes will not be masked. * Add low level interfaces for lookup cache and attribute invalidation. This feature is available in linux kernels 2.6.31 or later. Patch by John Muir * Kernel interface version is now 7.12
2009-06-19Add fuse_getgroups (high level lib) and fuse_req_getgroups (lowMiklos Szeredi-0/+6
level lib) functions to query the supplementary group IDs for the current request. Currently this is implemented on Linux by reading from the /proc filesystem.
2009-06-18CUSE patches from Tejun Heo (add new files)Miklos Szeredi-3/+51
2009-06-18CUSE patches from Tejun HeoMiklos Szeredi-17/+11
2009-05-27Don't call forget_node() if the lookup was negative and write()Miklos Szeredi-2/+5
for the reply returned ENOENT. Reported by John Haxby
2009-05-08Fix missing newlines in some printfsMiklos Szeredi-5/+5
2008-12-08* Implement poll support. Patch by Tejun HeoMiklos Szeredi-0/+51
2008-12-05* Implement ioctl support. On high level interface onlyMiklos Szeredi-0/+67
"restricted" ioctls are supported (which are defined with the _IO(), _IOR(), _IOW() or _IOWR() macros). Unrestricted ioctls will only be allwed to CUSE (Character Device in Userspace) servers. Patch by Tejun Heo
2008-10-14Pass current file flags to read and write operationsMiklos Szeredi-4/+8
2008-07-24Clean up debug output in highlevel libMiklos Szeredi-136/+332
2008-06-10Fix theoretical infinite loops in libfuseMiklos Szeredi-4/+12
2008-04-06Highlevel lib: don't limit paths to 4095 charactersMiklos Szeredi-31/+55
2008-03-19Fix missing pthread_mutex_destroy...Miklos Szeredi-0/+1
2008-03-07Add queuing on contention to per-node lock algorithm...Miklos Szeredi-45/+165
2008-02-08Add per-node locking, instead of a global tree lock to protect the path from ↵Miklos Szeredi-246/+317
changing during operations
2008-02-08Add support for atomic open(O_TRUNC)Miklos Szeredi-13/+13
2008-02-08Support receiving file handle from kernel in GETATTR request; Allow ↵Miklos Szeredi-12/+20
operations with a NULL path argument, if the filesystem supports it
2007-12-12change indentingMiklos Szeredi-2474/+2513
2007-12-12Disable old symbol versions if __UCLIBC__ is definedMiklos Szeredi-7/+7
2007-10-16Clarify licence version to be "LGPLv2" for the libraryMiklos Szeredi-1/+1
2007-09-18Add missing context initialization in fuse_fs_chmod()Miklos Szeredi-0/+1
2007-07-02Released 2.7.0Miklos Szeredi-1/+2
2007-06-22lib: fix locking when loading a filesystem moduleMiklos Szeredi-5/+3
2007-06-18Send debug output to stderr instead of stdoutMiklos Szeredi-90/+52
2007-05-29lib: optimization: store parent pointer in node instead of parent idMiklos Szeredi-10/+11
2007-05-11update flush changesMiklos Szeredi-49/+35
2007-05-10various flush related fixes in hi-libCsaba Henk-39/+59
2007-04-28docMiklos Szeredi-1/+0