📄 changelog
字号:
always available on embedded systems. Patch from Paul Smith * Fix util/Makefile.am, so that failure to run update-rc.d or device creation doesn't cause make to fail. Reported by Paul Smith2006-10-21 Miklos Szeredi <miklos@szeredi.hu> * Released 2.6.02006-10-18 Miklos Szeredi <miklos@szeredi.hu> * fusermount: don't try to create a lock file if /etc/mtab is a symlink. Report and patch from Alexei Sheplyakov (debian bug #393693)2006-10-17 Miklos Szeredi <miklos@szeredi.hu> * Minor changes, sync with mainline tree2006-10-16 Miklos Szeredi <miklos@szeredi.hu> * Released 2.6.0-rc32006-10-15 Miklos Szeredi <miklos@szeredi.hu> * kernel: cleanups2006-10-13 Miklos Szeredi <miklos@szeredi.hu> * kernel: Fix compilation on patched 2.6.18 (fc6) and 2.6.19. Report from David Shaw * lib: Fix lost error on renaming a file. Report from David Shaw * lib: Fix lost error on hiding open files (renaming to .fuse_hiddenXXXX) * kernel: Fix a rare hang on SMP/32bit on heavy filesystem activity. The cause of the bug was that some calls to i_size_write() were not protected by a lock, and hence i_size_seqcount could become corrupted. This caused subsequent calls to i_size_read() to spin forever. This is a long standing bug was probably introduced in version 2.2, and thought to be related to NFS exporting (it's not). It was reported by various people, but Dana Henriksen has finally helped me to track it down, so big thanks to him * kernel: Protect against truncation of a swapfile2006-10-10 Miklos Szeredi <miklos@szeredi.hu> * kernel: Check for signature of super_operations->umount_begin(). Ubuntu kernel 2.6.17 seems to use the new signature found in 2.6.18. Thanks to Florent Mertens for the report2006-10-08 Miklos Szeredi <miklos@szeredi.hu> * Make sure inode numers wrap around at 2^32. This is needed on dual 64bit/32bit architectures, because 32bit applications using the non-largefile interface would otherwise break (EOVERFLOW error would be returned by the stat() system call family) * ulockmgr: handle the case, when a locking operation fails because no more file desctriptors are available in ulockmgr_server. Also work around a Linux kernel bug (known to exist for all Linux kernel versions <= 2.6.18) which may cause sent file descriptors to be lost in the above case * ulockmgr: optimize file descriptor use * restore needed cpp flags to util/Makefile.am * Install udev rules as 99-fuse.rules instead of 60-fuse.rules * Minor clean up of udev rules * Add a synchronous DESTROY message to kernel interface. This is invoked from umount, when the final instance of the filesystem is released. It is only sent for filesystems mounted with the 'blkdev' option for security reasons. * If the DESTROY message is received, call the filesystem's ->destroy() method. In this case it's not called from session destruction as it would be otherwise.2006-10-01 Miklos Szeredi <miklos@szeredi.hu> * Released 2.6.0-rc22006-10-01 Miklos Szeredi <miklos@szeredi.hu> * Add support for FLUSH+RELEASE operation for FreeBSD. Original patch by Csaba Henk * Add init script to insert fuse module and mount the control filesystem. The script is installed as /etc/init.d/fuse and on debian based systems (where update-rc.d is available) symlinks from /etc/rc*.d/ are also installed. * Include '#define FUSE_USE_VERSION=XX' into examples so they become more self contained.2006-09-30 Miklos Szeredi <miklos@szeredi.hu> * API changes: * Move lock_owner from a separate argument into fuse_file_info * Add a flag to fuse_file_info indicating (1) a highlevel lock operation (unlock all) was initiated by a flush, (2) a lowlevel release operation should perform a flush as well. * fusermount: revert modprobe change (2006-08-18) since it doesn't work reliably with udev * Add support for block device backed filesystems. This mode is selected with the 'blkdev' option, which is privileged. * Add support for the bmap (FIBMAP ioctl) operation on block device backed filesystems. This allows swapon and lilo to work on such filesystems. * kernel changes: * Drop support for kernels earlier than 2.6.9. Kernel module from previous (2.5.x) release can be used with library from this release * In fuse_dentry_revalidate() use dget_parent() instead of 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.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -