📄 changelog
字号:
dereferencing d_parent, since there's no protection against parent changing and going away * Protect nlookup from concurrent updates * In lookup if a directory alias exists but is unused, then get rid of it, otherwise return -EBUSY. * In mkdir if a directory alias exists, return success, but leave dentry negative. In reality this could happen if a remote rename immediately followed the mkdir. * Don't BUG in fuse_iget() if multiple retries are needed to get a good inode. This could happen if several lookups are racing for the same inode.2006-09-29 Miklos Szeredi <miklos@szeredi.hu> * Fix compilation on 2.6.9. Report from Troy Ayers2006-09-27 Miklos Szeredi <miklos@szeredi.hu> * Fix Oops in fuse_readpages(). Reported by David Shaw2006-09-24 Csaba Henk <csaba.henk@creo.hu> * Add support for nanosec times on FreeBSD * Fix FreeBSD compatibility issues2006-09-23 Miklos Szeredi <miklos@szeredi.hu> * Fix one more compatibility bug. Thanks to Ricardo Correia * Fix utimens compilation with uClibc. Patch from Jamie Guinan2006-09-22 Miklos Szeredi <miklos@szeredi.hu> * Fixed several compatibility bugs in low level interface. Reported by Ricardo Correia * Add workaround for ARM caching bug2006-09-16 Miklos Szeredi <miklos@szeredi.hu> * Rename new utimes() method to more logical utimens()2006-09-14 Miklos Szeredi <miklos@szeredi.hu> * Fuse tried to unlink already unlinked hidden files. Bug reported by Milan Svoboda2006-09-10 Miklos Szeredi <miklos@szeredi.hu> * Released 2.6.0-rc12006-09-10 Miklos Szeredi <miklos@szeredi.hu> * kernel: Fix unlock on close for kernels < 2.6.18 * Add ulockmgr library & server. This can be used for handling file locking requests either directly from libfuse or over a network, etc. This first version is not optimized and the number of file descriptors it uses may get out of hand2006-09-07 Miklos Szeredi <miklos@szeredi.hu> * lib: Add interrupt support to high level library, which may be enabled with the 'intr' mount option. * When an operation is interrupted the thread handling that operation will receive SIGUSR1 (or other signal specified with the 'intr_signal=N' option). The library installs a no-op signal handler for this signal, unless there's already a handler installed. * The filesystem may query interrupt status (regardless of 'intr') with the fuse_interrupted() function. * mount.fuse: initialize $HOME if not set. Report from Sven Goldt2006-09-03 Miklos Szeredi <miklos@szeredi.hu> * lib: Multithreaded loop now allows unlimited number of threads. This is needed for locking operations which may block indefinitely. Also the kernel now doesn't limit the number of outstanding requests so the library shouldn't do so either.2006-09-01 Miklos Szeredi <miklos@szeredi.hu> * Fix recursive lock bug in interrupt handling * Add utimes() method to highlevel interface, which supports setting times with nanosecond resolution2006-08-18 Miklos Szeredi <miklos@szeredi.hu> * kernel: fix page leak if fuse_readpages() failed in it's initialization. Bug found and original patch from Alexander Zarochentsev * For linux kernels >=2.6.18 (2.6.19 if using the fuse module from the kernel tree) the statfs method will receive the path within the filesystem on which the stat(v)fs syscall was called * fusermount: try to modprobe fuse module if invoked by root and unable to open device. This is needed with udev, since the device node will be created only when the module is inserted, hence module autoloading won't work. Reported by Szakacsits Szabolcs2006-07-30 Miklos Szeredi <miklos@szeredi.hu> * fusermount: if selinux is active, restore the original file's security context in unmount_rename(). Redhat bugzilla id 188561. Patch from Yves Perrenoud * Add POSIX file locking operation to high level library * Initialize context for unlink of hidden files on umount. Bug reported by Tim Stoakes2006-07-14 Miklos Szeredi <miklos@szeredi.hu> * Multiple release() calls can race with each other, resulting in the hidden file being deleted before the last release finishes. Bug found and patch tested by Mark Huijgen2006-07-05 Miklos Szeredi <miklos@szeredi.hu> * fusermount: if /dev/fuse doesn't exist, suggest modprobing fuse; this makes sense on systems using udev. Reported by Szakacsits Szabolcs2006-06-29 Miklos Szeredi <miklos@szeredi.hu> * Released 2.6.0-pre32006-06-29 Miklos Szeredi <miklos@szeredi.hu> * Support in kernel module for file locking and interruption. The same functionality is available in official kernels >= 2.6.182006-06-28 Miklos Szeredi <miklos@szeredi.hu> * Add POSIX file locking support * Add request interruption2006-06-06 Miklos Szeredi <miklos@szeredi.hu> * Add missing pthread_rwlock_destroy(). Patch from Remy Blank2006-06-05 Remy Blank <remy.blank@pobox.com> * lib: canonicalize mount point in fuse_helper_opt_proc() so that unmounting succeeds even if mount point was relative.2006-06-04 Csaba Henk <csaba.henk@creo.hu> * lib: fix emergency umount in helper.c when malloc fails. (The way it was done would end up in a segfault.)2006-06-01 Csaba Henk <csaba.henk@creo.hu> * lib: adjust threading related compiler flags. Switch to "-pthread" from "-lpthread" as that's the preferred one on several platforms. Consulted with Terrence Cole and Miklos Szeredi2006-05-08 Miklos Szeredi <miklos@szeredi.hu> * lib: search fusermount in installation directory (bindir) as well as in PATH.2006-05-03 Miklos Szeredi <miklos@szeredi.hu> * lib: fix compilation if CLOCK_MONOTONIC is not defined. Reported by Christian Magnusson2006-04-23 Csaba Henk <csaba.henk@creo.hu> * lib: make FreeBSD mount routine recognize if kernel features backgrounded init and if it does, run the mount util in foreground (similarly to Linux)2006-04-21 Miklos Szeredi <miklos@szeredi.hu> * kernel: fix fput deadlock fix, the lockless solution could lead to "VFS: busy inodes after umount..." * kernel: fix race between checking and setting file->private_data for the device. Found by Al Viro2006-04-11 Miklos Szeredi <miklos@szeredi.hu> * kernel: remove request pool, instead allocate requests on demand. Account the number of background requests, and if they go over a limit, block the allocation of new requests. * kernel: fix deadlock if backgrounded request holds the last reference to the super block * kernel: don't use fuse_reset_request() during direct I/O2006-04-06 Csaba Henk <csaba.henk@creo.hu> * lib: Let FreeBSD mount option parsing routine recognize "no" prefixes for FUSE specific options as well2006-04-01 Miklos Szeredi <miklos@szeredi.hu> * lib: Add missing rwlock initialization. Patch by Ryan Bradetich2006-03-17 Miklos Szeredi <miklos@szeredi.hu> * API changes: * fuse_main(), fuse_setup() and fuse_new() have an additionl user_data parameter * fuse_mount() returns a 'struct fuse_chan' pointer instead of a file descriptor * fuse_unmount() receives a 'struct fuse_chan' pointer. It destroys the given channel * fuse_teardown() no longer has a file descriptor parameter * new exported functions: fuse_session_remove_chan(), fuse_get_session(), fuse_daemonize() * fuse_chan_recv() may now return a new channel which will be used to send the reply2006-03-16 Miklos Szeredi <miklos@szeredi.hu> * Released 2.6.0-pre22006-03-16 Miklos Szeredi <miklos@szeredi.hu> * Don't unmount if already unmounted. This fixes a problem seen in the following situation: Lazy unmount a busy filesystem; Mount a new one in top; When the first finally unmounts, the second also unmounts. Reported by Franco Broi2006-03-15 Miklos Szeredi <miklos@szeredi.hu> * lowlevel lib: use indirect function calls instead of a switch/case construct. Besides increased efficiency it helps maintainability & readability too. Patch from Florin Malita2006-03-13 Miklos Szeredi <miklos@szeredi.hu> * kernel: replace global spinlock with a per-connection spinlock2006-03-10 Miklos Szeredi <miklos@szeredi.hu> * Fix source compatibility breakage for fuse_unmount(). Report from Yura Pakhuchiy2006-03-02 Miklos Szeredi <miklos@szeredi.hu> * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike2006-03-01 Miklos Szeredi <miklos@szeredi.hu> * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by Jeff Dike * Renamed fuse_chan_receive() to fuse_chan_recv() and changed interface to return -errno in case of error.2006-03-01 Csaba Henk <csaba.henk@creo.hu> * libfuse: pass device file descriptor to fuse_unmount(), rewrite FreeBSD implementation so that it uses libc (sysctl backed) instead of an embdedded script (kmem backed). Adjust the control flow of hello_ll so that device doesn't get closed before unmount attempt.2006-02-25 Miklos Szeredi <miklos@szeredi.hu> * Lowlevel lib: return all-zero statvfs data if filesystem doesn't implement method. This is needed on FreeBSD, and nicer on Linux too. Highlevel lib already did this. Reported by Csaba Henk * Fix negative entry handling. There was a bug, that negative lookups with timeouts (nodeid == 0) returned -EIO.2006-02-23 Miklos Szeredi <miklos@szeredi.hu> * Fix race between RELEASE and UNLINK, which might leave .fuse_hidden* files around2006-02-21 Miklos Szeredi <miklos@szeredi.hu> * fusexmp_fh: implement flush() method and call close() on the open file descriptor. This is needed if used on an NFS filesystem, which buffers data until file is closed. Franco Broi spotted the situation when 'cp -p' failed to set the modification time because of this.2006-02-20 Miklos Szeredi <miklos@szeredi.hu> * Released 2.6.0-pre12006-02-19 Miklos Szeredi <miklos@szeredi.hu> * libfuse: fix use-after-free bug in interruptred reply_entry(). Patch from John Muir * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug ID: 352631. Found by Stéphane Rosi2006-02-17 Miklos Szeredi <miklos@szeredi.hu> * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent() into a single function fuse_add_direntry(). This cleans up the interface and makes it possible to do stacking.2006-02-16 Miklos Szeredi <miklos@szeredi.hu> * Fix rare race betweeen abort and release caused by failed iget() in fuse_create_open(). * Add 'ac_attr_timeout' option e.g. for filesystems which do their own attribute caching.2006-02-15 Miklos Szeredi <miklos@szeredi.hu> * Work around FreeBSD runtime linker "feature" which binds an old version of a symbol to internal references if the symbol has more than one version. This resulted in infinite recursion in fuse_lowlevel_new_compat25().2006-02-10 Csaba Henk <csaba.henk@creo.hu> * Refine clock_gettime() querying so that linker options shall be set as it's appropriate for the target platform.2006-02-09 Miklos Szeredi <miklos@szeredi.hu> * Fix udev rule syntax. Reported by Nix2006-02-08 Miklos Szeredi <miklos@szeredi.hu> * In some cases udev rule seems to be ineffective when installed as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt2006-02-03 Miklos Szeredi <miklos@szeredi.hu> * Fix compilation when build directory is different from source directory. Reported by Frédéric L. W. Meunier2006-02-02 Miklos Szeredi <miklos@szeredi.hu> * Fix even bigger bug introduced in fix for request_end() on 2006-01-14. Reported by Gal Rosen2006-01-30 Miklos Szeredi <miklos@szeredi.hu> * highlevel-lib: add 'auto_cache' option. This caches file data based on modification time and size2006-01-20 Miklos Szeredi <miklos@szeredi.hu> * Sanitize storage type and help message in mount_bsd.c. Patch from Csaba Henk * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and FUSE_OPT_KEY_DISCARD * Add options 'max_readahead', 'sync_read' and 'async_read' * Kernel ABI version 7.6: * Negotiate the 'max_readahead' value and 'async_read' flags with userspace in the INIT method * Add connection info to ->init() methods to both lowlevel and highlevel API * Fall back to synchronous read() behavior if either library or userspace filesystem is using the old interface version. This is needed so non-updated filesystems won't be confused by the different read() behavior2006-01-19 Miklos Szeredi <miklos@szeredi.hu> * lib: if "fsname=" option was given, pass it to fusermount * fuse_opt: add new fuse_opt_insert_arg() function, which is needed by filesystems to implement some argument manipulations correctly * fuse_opt: fix memory leak in handling "--" option2006-01-18 Miklos Szeredi <miklos@szeredi.hu> * kernel: fix detection of case when fuse is not configured into the kernel either as module or built-in * fuse_opt.h: fix incompatibility with C++ compilers by renaming 'template' structure member to 'templ'. Reported by Takashi Iwai * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy * kernel: support version 2.6.16 (i_sem -> i_mutex)2006-01-16 Miklos Szeredi <miklos@szeredi.hu> * Added (again) asynchronous readpages support * Each connection now shows up under /sys/fs/fuse/connections * Connection attributes exported to sysfs: 'waiting' number of waiting requests; 'abort' abort the connection * Connection may be aborted through either the sysfs interface or with 'umount -f mountpoint'2006-01-14 Miklos Szeredi <miklos@szeredi.hu> * Released 2.5.02006-01-14 Miklos Szeredi <miklos@szeredi.hu> * kernel: fix a couple of bugs * Order of request_end() and fuse_copy_finish() was wrong.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -