summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2006-10-17 18:17:58 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2006-10-17 18:17:58 +0000
commitdcfb82145049d85b6b859d906fa94cd2f0900091 (patch)
tree2f7afa0fe41b76079551964614055c61f329ed15
parent12e5c98d0606df60ee198de0f394f0c5d4c7caaa (diff)
downloadfuse-dcfb82145049d85b6b859d906fa94cd2f0900091.tar.gz
sync + update FAQ/Filesystems
-rw-r--r--ChangeLog4
-rw-r--r--FAQ100
-rw-r--r--Filesystems1856
-rw-r--r--NEWS2
-rw-r--r--kernel/dir.c26
-rw-r--r--kernel/file.c12
6 files changed, 1146 insertions, 854 deletions
diff --git a/ChangeLog b/ChangeLog
index 31fb416..08f6a9e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2006-10-17 Miklos Szeredi <miklos@szeredi.hu>
+
+ * Minor changes, sync with mainline tree
+
2006-10-16 Miklos Szeredi <miklos@szeredi.hu>
* Released 2.6.0-rc3
diff --git a/FAQ b/FAQ
index 5a79d8c..3cddb18 100644
--- a/FAQ
+++ b/FAQ
@@ -1,4 +1,4 @@
-This was generated on 2006/01/09 from
+This was generated on 2006/10/17 from
http://fuse.sourceforge.net/wiki/index.php/FAQ
@@ -11,10 +11,16 @@ General
How can I umount a filesystem?
------------------------------
-Filesystems mounted without sysadmin privileges can be umounted with
-the command
+FUSE filesystems can be unmounted either with:
- fusermount -u mountpoint
+ umount mountpoint
+
+or
+
+ fusermount -u mountpoint
+
+The later does not need root privileges if the filesystem was mounted by the
+user doing the unmounting.
What's the difference between FUSE and LUFS?
--------------------------------------------
@@ -50,12 +56,14 @@ Is it possible to mount a fuse filesystem from fstab?
-----------------------------------------------------
Yes, from version 2.4.0 this is possible. The filesystem must adhere
-to some rules about command line options to be able to work this
-way. Here's an example of mounting an sshfs filesystem:
+to some rules about command line options to be able to work this way.
+Here's an example of mounting an sshfs filesystem:
sshfs#user@host:/ /mnt/host fuse defaults 0 0
-The mounting is performed by the /sbin/mount.fuse helper script.
+The mounting is performed by the /sbin/mount.fuse helper script. In
+this example the FUSE-linked binary must be called sshfs and must
+reside somewhere in $PATH.
Licensing issues
~~~~~~~~~~~~~~~~
@@ -67,7 +75,8 @@ The kernel part is released under the GNU GPL.
Libfuse is released under the GNU LGPL.
-All other parts (examples, fusermount, etc) are released under the GNU GPL.
+All other parts (examples, fusermount, etc) are released under the GNU
+GPL.
Under what conditions may I modify or distribute FUSE?
------------------------------------------------------
@@ -262,6 +271,29 @@ option, or by setting the direct_io field of fuse_file_info at open)
the read can return a smaller value than requested. In this case the
end of file can be signalled by returning zero.
+What do I do if /dev/fuse does not exist?
+-----------------------------------------
+
+Maybe the FUSE module is not loaded. As root, try:
+
+ modprobe fuse
+
+If nothing changes, as root run:
+
+ mknod /dev/fuse c 10 229
+
+What do I do if you don't have access to /dev/fuse?
+---------------------------------------------------
+
+As root run:
+
+ chmod o+rw /dev/fuse
+
+Remember that this will allow ordinary users to mount their own user
+space filesystems.
+
+If that's not what you want then use different permissions.
+
Why does cp return operation not permitted when copying a file with no
----------------------------------------------------------------------
write permissions for the owner?
@@ -270,23 +302,25 @@ write permissions for the owner?
"cp" calls open(2) with read-only permissions and O_CREAT, the purpose
being to atomically obtain a read/write file handle and make the file
read-only. Unfortunately, this does not work very well in fuse, since
-you first get a mknod, and then an open call. At the time of open, you
-can't distinguish easily wether this is the first open issued by cp,
-or another process trying to write a read-only file.
+you first get a mknod, and then an open call. At the time of open,
+you can't distinguish easily wether this is the first open issued by
+cp, or another process trying to write a read-only file.
Defining the 'create' method solves this problem, however this
requires a Linux kernel version of at least 2.6.15 and libfuse version
-2.5 or greater.
+2.5 or greater (on FreeBSD you'll need fuse4bsd-0.3.0-pre1 or newer
+for this).
There can be other workarounds, however the easy one is to use the
"default_permissions" mount option, and to avoid checking permissions
-on open. If you store files on a filesystem, this can get tricky
+on open. If you store files on a filesystem, this can get tricky
because you will have to change the file mode to allow writing. Using
the stateful API (i.e. returning an handle on open) will simplify
things. In this case, and using "-o default_permissions", when
implementing the open call you have to:
-1. check if the open is in write mode (i.e. mode has O_RDWR or O_WRONLY)
+1. check if the open is in write mode (i.e. mode has O_RDWR or
+ O_WRONLY)
2. in that case (in mutual exclusion with other open, getattr
etc. calls on the same file) change the mode from "M" to "M OR
@@ -331,6 +365,16 @@ causes of this are (non-exhaustive)
* the same node ID value was used for two different directories
(i.e. hard-linked directories are not allowed)
+ * In the GETATTR function, st_mode needs to have a valid filetype
+ bit set, like S_IFREG or S_IFDIR, see the stat manual for more
+
+ * You are running a 64 bit kernel but using a 32 bit libfuse. In this case
+ you will need to install a 64 bit version of the FUSE userspace library,
+ 64 bit versions of all of the FUSE filesystems or language bindings that
+ link to it, and 64 bit versions of all of their dependancies. Your
+ distribution may provide 64 bit versions of the basic dependancies like
+ libc even in its 32 bit environment
+
Misc
====
@@ -345,3 +389,31 @@ something similar.
But this is not recommended. You should rather think about solving
this another way.
+
+If a filesystem is mounted over a directory, how can I access the old
+---------------------------------------------------------------------
+contents?
+---------
+
+There are two possibilities:
+
+The first is to use 'mount --bind DIR TMPDIR' to create a copy of the
+namespace under DIR. After mounting the FUSE filesystem over DIR,
+files can still be accessed through TMDIR. This needs root privileges.
+
+The second is to set the working directory to DIR after mounting the FUSE
+filesystem. For example before fuse_main() do
+
+ save_dir = open(DIR, O_RDONLY);
+
+And from the init() method do
+
+ fchdir(save_dir);
+ close(save_dir);
+
+Then access the files with relative paths (with newer LIBC versions
+the *at() functions may also be used instead of changing the CWD).
+
+This method doesn't need root privileges, but only works on Linux
+(FreeBSD does path resolving in a different way), and it's not even
+guaranteed to work on future Linux versions.
diff --git a/Filesystems b/Filesystems
index 7aa1ff1..14177bb 100644
--- a/Filesystems
+++ b/Filesystems
@@ -1,4 +1,4 @@
-This was generated on 2006/01/09 from
+This was generated on 2006/10/17 from
http://fuse.sourceforge.net/wiki/index.php/LanguageBindings
http://fuse.sourceforge.net/wiki/index.php/FileSystems
@@ -7,917 +7,1129 @@ This was generated on 2006/01/09 from
For an up to date version please see the above pages. You can also
add new entries there.
-===============================================================================
-Language Bindings
-===============================================================================
-C
-This is the native API
-------------------------------------------------------------------------------
-Java
+Language Bindings
+~~~~~~~~~~~~~~~~~
+===============================================================================
+***** C *****
+This is the native API
+===============================================================================
+***** C++ *****
+Name: FUSE++
+Author:
+Victor_Porton
+Homepage:
+http://freesoft.ex-code.com/virtual-filesystems.xml
+ Description
+ Advanced template C++ bindings for FUSE. Also contains several useful
+ filesystems. In the future will contain the FTP fs.
+===============================================================================
+***** C++ *****
+Author:
+Gerard_J._Cerchio
+Download:
+http://www.circlesoft.com/fusecpp.h
+ Description
+ This is perhaps a less advanced C++ Binding, but at least you can see it.
+ This object was tested by placing the entire Hello example progam in a
+ class, setting the 4 hello operations and calling fuse main with
+ dispatch.get_fuseOps() as the third argument. The ls of the mount point
+ produces the hello and the cat of the inode produces Hello World!
+===============================================================================
+***** Java *****
Name: FUSE-J
-
Author: Peter Levart / peter.levart at select-tech si
-
-Download: http://www.select-tech.si/fuse/
-
-Description
-
- FUSE-J provides Java binding for FUSE. It comes with the
- "proof-of-concept" ZIP filesystem which seems to be pretty stable.
-
-------------------------------------------------------------------------------
-C#
-
+Download:
+http://sourceforge.net/projects/fuse-j
+ Description
+ FUSE-J provides Java binding for FUSE. It comes with the "proof-of-
+ concept" ZIP filesystem which seems to be pretty stable.
+===============================================================================
+***** C# *****
Name: SULF - Stackable User-Level Filesystem
-
-Author: Valient Gough / vgough at pobox com
-
-Homepage: http://arg0.net/users/vgough/sulf/index.html
-
-Description
-
- SULF allows you to write a Linux filesystem in C#. It uses the
- FUSE library to do the actual Linux filesystem integration in
- user-space.
-
-------------------------------------------------------------------------------
-Haskell
-
+Author: Valient Gough / vgough at gmail dot com
+Homepage:
+http://arg0.net/users/vgough/sulf/index.html
+ Description
+ SULF allows you to write a Linux filesystem in C#. This is being replaced
+ with general SWIG based bindings (see "SWIG Bindings" below)
+===============================================================================
+***** C# *****
+Name: Mono.Fuse
+Author: Jonathan Pryor
+Homepage:
+http://www.jprl.com/Projects/mono-fuse.html
+ Description
+ Mono.Fuse provides bindings for all mono supported languages, with a few
+ design choices different from SULF (and SWIG).
+===============================================================================
+***** Haskell *****
Name: hfuse
-
Author: Jeremy Bobbio
-
-Darcs repository: http://darcs.haskell.org/hfuse/
-
-------------------------------------------------------------------------------
-Haskell
-
+Darcs repository:
+http://darcs.haskell.org/hfuse/
+===============================================================================
+***** Haskell *****
Name: FuseIO
-
Author: David Roundy
-
-Darcs repository: http://abridgegame.org/repos/fuse_example
-
-Mailing list announcement: http://article.gmane.org/gmane.comp.lang.haskell.cafe/8110
-
-------------------------------------------------------------------------------
-TCL
-
+Darcs repository:
+http://abridgegame.org/repos/fuse_example
+Mailing list announcement:
+http://article.gmane.org/gmane.comp.lang.haskell.cafe/8110
+===============================================================================
+***** TCL *****
Name: TCL FUSE interface
-
Author: Colin McCormack? / colin at chinix com
-
-Homepage: http://mini.net/tcl/13853
-
-------------------------------------------------------------------------------
-Python
-
+Homepage:
+http://mini.net/tcl/13853
+===============================================================================
+***** Python *****
Name: Python interface for FUSE
-
Author: Jeff Epler
-
-Maintainer: Sebastien Delafond / sdelafond at gmx net
-
-CVS: cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/fuse co -P python
-
-------------------------------------------------------------------------------
-Perl
-
+Maintainer: CsabaHenk
+Homepage:
+http://fuse.sourceforge.net/wiki/index.php/FusePython
+===============================================================================
+***** Perl *****
Name: Perl interface for FUSE
-
Author: Mark Glines
-
Maintainer: Dobrica Pavlinusic / dpavlin at rot13 org
-
-Homepage: http://search.cpan.org/~dpavlin/Fuse/
-
+Homepage:
+http://search.cpan.org/~dpavlin/Fuse/
CVS: cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/fuse co -P perl
-
-------------------------------------------------------------------------------
-Sh
-
+===============================================================================
+***** Sh *****
Name: Fuse-J-shfs
-
Author: Paul "Joey" Clark / joey at hwi ath cx
-
-Homepage: http://hwi.ath.cx/twiki/bin/view/Neuralyte/FuseJshfs
-
-Description
-
- Fuse-J-shfs lets you easily implement a virtual filesystem in Unix
- shellscript. And naturally, it already has some handy vfs
- implementations you can use straight away: gzip, rar, sparse, ...
-
-------------------------------------------------------------------------------
-OCaml
-
+Homepage:
+http://hwi.ath.cx/twiki/bin/view/Neuralyte/FuseJshfs
+ Description
+ Fuse-J-shfs lets you easily implement a virtual filesystem in Unix
+ shellscript. And naturally, it already has some handy vfs implementations
+ you can use straight away: gzip, rar, sparse, ...
+===============================================================================
+***** SWIG bindings *****
+Name: FuseWrapper
+Author: Valient Gough / valient at gmail dot com
+Homepage:
+http://arg0.net/wiki/fusewrapper
+ Description
+ Provides SWIG wrappers for FUSE low-level API, which allows you to create
+ filesystems in many high level languages. Basic C#, Java, and Perl
+ filesystems have been tested, but any SWIG supported language should be
+ possible with a little work.
+===============================================================================
+***** OCaml *****
Name: OCamlFuse
-
-Homepage: http://sourceforge.net/projects/ocamlfuse
-
-Description
-
- This is an ocaml binding for fuse enabling you to write your own
- multithreaded userspace filesystems using the ocaml programming
- language.
-
-------------------------------------------------------------------------------
-Pliant
-
-Source: http://fullpliant.org/pliant/browse/file/pliant/linux/storage/fuse.pli?text
-
-------------------------------------------------------------------------------
-Ruby
-
-Name: FuseFS
-
-Homepage: http://rubyforge.org/projects/fusefs
-
+Homepage:
+http://sourceforge.net/projects/ocamlfuse
+ Description
+ This is an ocaml binding for fuse enabling you to write your own
+ multithreaded userspace filesystems using the ocaml programming language.
===============================================================================
-File Systems
+***** Pliant *****
+Source:
+http://fullpliant.org/pliant/browse/file/pliant/linux/storage/fuse.pli?text
+===============================================================================
+***** Ruby *****
+Name: FuseFS
+Homepage:
+http://rubyforge.org/projects/fusefs
===============================================================================
-OWFS
-
-Author: Paul H. Alfille / palfille at partners org
-
-Homepage: http://owfs.sourceforge.net
-Description
- One Wire File System (OWFS) uses FUSE to expose all the Dallas
- 1-wire sensors, iButtons and memory chips as a filesystem.
- Devices are dynamically included in the directory, and properties
- like temperature are obtained by reading a file.
-------------------------------------------------------------------------------
-FunFS
+Filesystems using FUSE
+~~~~~~~~~~~~~~~~~~~~~~
+===============================================================================
+***** OWFS *****
+Author: Paul H. Alfille / palfille at partners org
+Homepage:
+http://owfs.sourceforge.net
+ Description
+ One Wire File System (OWFS) uses FUSE to expose all the Dallas 1-wire
+ sensors, iButtons and memory chips as a filesystem. Devices are
+ dynamically included in the directory, and properties like temperature
+ are obtained by reading a file.
+===============================================================================
+***** FunFS *****
Status: alpha
-
Author: Michael Grigoriev (Net Integration Technologies) / mag at luminal org
-
-Homepage: http://www.luminal.org/wiki/index.php/FunFS/FunFS
-
-Description
-
- FunFS is an advanced network file system with a simple goal: to be
- better than NFS.
-
-------------------------------------------------------------------------------
-EncFS
-
+Homepage:
+http://www.luminal.org/wiki/index.php/FunFS/FunFS
+ Description
+ FunFS is an advanced network file system with a simple goal: to be better
+ than NFS.
+===============================================================================
+***** EncFS *****
Author: Valient Gough / vgough at pobox com
-
-Homepage: http://pobox.com/~vgough/encfs.html
-
-Description
-
- EncFS provides an encrypted filesystem in user-space. The EncFS
- module itself runs without any special permissions and uses the
- FUSE library and Linux kernel module to provide the filesystem
- interface.
-
-------------------------------------------------------------------------------
-SMB for FUSE
-
+Homepage:
+http://pobox.com/~vgough/encfs.html
+ Description
+ EncFS provides an encrypted filesystem in user-space. The EncFS module
+ itself runs without any special permissions and uses the FUSE library and
+ Linux kernel module to provide the filesystem interface.
+===============================================================================
+***** SMB_for_FUSE *****
Author: Vincent Wagelaar / vincent at ricardis tudelft nl
-
-Homepage: http://hannibal.lr-s.tudelft.nl/fusesmb/
-
-Description
-
- With SMB for Fuse you can seamlessly browse your network
- neighbourhood as were it on your own filesystem.
-
-------------------------------------------------------------------------------
-Run-Time-Access
-
+Homepage:
+http://www.ricardis.tudelft.nl/~vincent/fusesmb/
+ Description
+ With SMB for Fuse you can seamlessly browse your network neighbourhood as
+ were it on your own filesystem.
+===============================================================================
+***** Run-Time-Access *****
Author: Bob Smith / bsmith at linuxtoys org
-
-Homepage: http://www.runtimeaccess.com
-
-Description
-
- RTA is a specialized memory resident interface to the internal
- data of your application. It is not a stand-alone server but a
- library which attaches to your program and offers up your
- program's internal structures and arrays as tables in a database
- and as files in a virtual file system.
-
-------------------------------------------------------------------------------
-PhoneBook
-
+Homepage:
+http://www.runtimeaccess.com/
+ Description
+ RTA is a specialized memory resident interface to the internal data of
+ your application. It is not a stand-alone server but a library which
+ attaches to your program and offers up your program's internal structures
+ and arrays as tables in a database and as files in a virtual file system.
+===============================================================================
+***** PhoneBook *****
Author: David McNab / david at rebirthing co nz
-
-Homepage: http://www.freenet.org.nz/phonebook
-
-Description
-
- PhoneBook is expressly designed for use in situations where
- someone can be under pressure (legal, military and/or criminal) to
- disclose decryption keys, and has a 'chaffing' scheme whereby the
- user can disclose only passphrases for non-sensitive material, and
- credibly deny the existence of anything else.
-
-------------------------------------------------------------------------------
-KIO Fuse Gateway
-
+Homepage:
+http://www.freenet.org.nz/phonebook
+ Description
+ PhoneBook is expressly designed for use in situations where someone can
+ be under pressure (legal, military and/or criminal) to disclose
+ decryption keys, and has a 'chaffing' scheme whereby the user can
+ disclose only passphrases for non-sensitive material, and credibly deny
+ the existence of anything else.
+===============================================================================
+***** KIO_Fuse_Gateway *****
Author: Alexander Neundorf / neundorf at kde org
-
-Homepage: http://kde.ground.cz/tiki-index.php?page=KIO+Fuse+Gateway
-
-Description
-
- This gateway makes it possible to mount ioslaves or a general
- ioslave-gateway via fuse and make them this way available to all
- linux apps.
-
-------------------------------------------------------------------------------
-LUFS bridge
-
+Homepage:
+http://kde.ground.cz/tiki-index.php?page=KIO+Fuse+Gateway
+ Description
+ This gateway makes it possible to mount ioslaves or a general ioslave-
+ gateway via fuse and make them this way available to all linux apps.
+===============================================================================
+***** LUFS_bridge *****
Status: alpha
-
Author: Miklos Szeredi / miklos at szeredi hu
-
-Homepage: http://sourceforge.net/project/showfiles.php?group_id=121684&package_id=132803
-
-Description
-
- This is a modified LUFS daemon, which uses the FUSE kernel module.
- It is binary compatible with existing LUFS filesystems, so no
- recompilation is needed.
-
-------------------------------------------------------------------------------
-Bluetooth File System
-
+Homepage:
+http://sourceforge.net/project/showfiles.php?group_id=121684&package_id=132803
+ Description
+ This is a modified LUFS daemon, which uses the FUSE kernel module. It is
+ binary compatible with existing LUFS filesystems, so no recompilation is
+ needed.
+===============================================================================
+***** Bluetooth_File_System *****
Name: btfs
-
Author: Collin R. Mulliner / collin at betaversion net
-
-Homepage: http://www.mulliner.org/bluetooth/btfs.php
-
-Description
-
- Btfs is a simple application to map some basic bluetooth functions
- into the filesystem. With btfs a simple ls DEVICES shows you all
- bluetooth devices within range and cp somefile OPUSH/devicename
- sends the given file to the device.
-
-------------------------------------------------------------------------------
-mcachefs
-
+Homepage:
+http://www.mulliner.org/bluetooth/btfs.php
+ Description
+ Btfs is a simple application to map some basic bluetooth functions into
+ the filesystem. With btfs a simple ls DEVICES shows you all bluetooth
+ devices within range and cp somefile OPUSH/devicename sends the given
+ file to the device.
+===============================================================================
+***** mcachefs *****
Author: Michael Still / mikal at stillhq com
-
-Homepage: http://lists.samba.org/archive/linux/2004-March/010211.html
-
-Description
-
- mcachefs is a simple caching filesystem for Linux using FUSE. It
- works by copying the file that you asked for when the file is
- opened, and then using that copy for all subsequent requests for
- the file. This is really a fairly naive approach to caching, and
- will be improved in the future.
-
-------------------------------------------------------------------------------
-Fusedav
-
+Homepage:
+http://lists.samba.org/archive/linux/2004-March/010211.html
+ Description
+ mcachefs is a simple caching filesystem for Linux using FUSE. It works by
+ copying the file that you asked for when the file is opened, and then
+ using that copy for all subsequent requests for the file. This is really
+ a fairly naive approach to caching, and will be improved in the future.
+===============================================================================
+***** Fusedav *****
Author: Lennart Poettering / mzshfrqni at 0pointer de
-
-Homepage: http://0pointer.de/lennart/projects/fusedav/
-
-Description
-
- fusedav is a Linux userspace file system driver for mounting
- WebDAV shares. It makes use of FUSE as userspace file system API
- and neon as WebDAV API.
-
-------------------------------------------------------------------------------
-RelFS
-
+Homepage:
+http://0pointer.de/lennart/projects/fusedav/
+ Description
+ fusedav is a Linux userspace file system driver for mounting WebDAV
+ shares. It makes use of FUSE as userspace file system API and neon as
+ WebDAV API.
+===============================================================================
+***** RelFS *****
Author: Vincenzo Ciancia / vincenzo_ml at yahoo it
-
-Homepage: http://relfs.sourceforge.net/
-
-Description
-
- This is a linux userspace filesystem using fuse and a relational
- database to store information about files. Special directories
- can represent views on the database, and many powerful features,
- such as bayesian classification, are added through plugins.
-
-------------------------------------------------------------------------------
-GmailFS
-
+Homepage:
+http://relfs.sourceforge.net/
+ Description
+ This is a linux userspace filesystem using fuse and a relational database
+ to store information about files. Special directories can represent views
+ on the database, and many powerful features, such as bayesian
+ classification, are added through plugins.
+===============================================================================
+***** GmailFS *****
Author: Richard Jones / richard at jones name
-
-Homepage: http://richard.jones.name/google-hacks/gmail-filesystem/gmail-filesystem.html
-
-Description
-
- GmailFS provides a mountable Linux filesystem which uses your
- Gmail account as its storage medium. GmailFS is a Python
- application and uses the FUSE userland filesystem infrastructure
- to help provide the filesystem, and libgmail to communicate with
- Gmail.
-
-------------------------------------------------------------------------------
-DataDraw
-
-Author: Bill Cox / bill at viasic com
-
-Homepage: http://www.viasic.com/opensource/
-
-Description
-
- This is an EDA specific data structure diagramming and code
- generation tool.
-
-------------------------------------------------------------------------------
-gphoto2-fuse-fs
-
+Homepage:
+http://richard.jones.name/google-hacks/gmail-filesystem/gmail-filesystem.html
+ Description
+ GmailFS provides a mountable Linux filesystem which uses your Gmail
+ account as its storage medium. GmailFS is a Python application and uses
+ the FUSE userland filesystem infrastructure to help provide the
+ filesystem, and libgmail to communicate with Gmail.
+===============================================================================
+***** gphoto2-fuse-fs *****
Author: Christopher Lester / lester at hep phy cam ac uk
-
-Homepage: http://www.hep.phy.cam.ac.uk/~lester/gphoto2-fuse-fs/
-
-Description
-
- This program allows mounting a gphoto2 based digital camera so
- that you can access the files via "standard" programs like "ls,
- cat, tar, gthumb, netscape, firefox, etc" rather than just through
- "gtkam and gphoto2"
-
-------------------------------------------------------------------------------
-CvsFS
-
+Homepage:
+http://www.hep.phy.cam.ac.uk/~lester/gphoto2-fuse-fs/
+ Description
+ This program allows mounting a gphoto2 based digital camera so that you
+ can access the files via "standard" programs like "ls, cat, tar, gthumb,
+ netscape, firefox, etc" rather than just through "gtkam and gphoto2"
+===============================================================================
+***** CvsFS *****
Author: Patrick Frank / pfrank at gmx de
-
-Homepage: http://sourceforge.net/projects/cvsfs
-
-Description
-
- This provides a package which presents the CVS contents as
- mountable file system. It allows to view the versioned files as
- like they were ordinary files on a disk. There is also a
- possibility to check in/out some files for editing.
-
-------------------------------------------------------------------------------
-User-level Versioning File System
-
+Homepage:
+http://sourceforge.net/projects/cvsfs
+ Description
+ This provides a package which presents the CVS contents as mountable file
+ system. It allows to view the versioned files as like they were ordinary
+ files on a disk. There is also a possibility to check in/out some files
+ for editing.
+===============================================================================
+***** User-level_Versioning_File_System *****
Name: Wayback
-
Author: Brian Cornell / techie at northwestern edu
-
-Homepage: http://wayback.sourceforge.net/
-
-Description
-
- When you use a Wayback file system, old versions of files are
- never lost. No matter how much you change a file or directory,
- everything is always kept in a versioning file so that you never
- lose important data. Wayback provides the ability to remount any
- already mounted file system with versioning support under a
- different directory.
-
-------------------------------------------------------------------------------
-Trivial Rolebased Authorisation & Capability Statemachine
-
+Homepage:
+http://wayback.sourceforge.net/
+ Description
+ When you use a Wayback file system, old versions of files are never lost.
+ No matter how much you change a file or directory, everything is always
+ kept in a versioning file so that you never lose important data. Wayback
+ provides the ability to remount any already mounted file system with
+ versioning support under a different directory.
+===============================================================================
+***** Trivial Rolebased Authorisation & Capability Statemachine *****
Name: TRACS
-
Author: Rob J Meijer / rmeijer at xs4all nl
-
-Homepage: http://www.xs4all.nl/~rmeijer/tracs.html
-
-Description
-
- This project is the first spin-off project of the Security
- Incident Policy Enforcement System project. In the process of
- designing a SIPES, the need was recognized for the implementation
- of an authorisation server that provides functionality not
- provided by any of the current authorisation solutions.
-
-------------------------------------------------------------------------------
-SshFS
-
+Homepage:
+http://www.xs4all.nl/~rmeijer/tracs.html
+ Description
+ This project is the first spin-off project of the Security Incident
+ Policy Enforcement System project. In the process of designing a SIPES,
+ the need was recognized for the implementation of an authorisation server
+ that provides functionality not provided by any of the current
+ authorisation solutions.
+===============================================================================
+***** SshFS *****
Author: Miklos Szeredi / miklos at szeredi hu
-
-Homepage: http://fuse.sourceforge.net/sshfs.html
-
-Description
-
- This is a filesystem client based on the SSH File Transfer
- Protocol. Since most SSH servers already support this protocol it
- is very easy to set up: i.e. on the server side there's nothing to
- do. On the client side mounting the filesystem is as easy as
- logging into the server with ssh.
-
-------------------------------------------------------------------------------
-Siefs
-
+Homepage:
+http://fuse.sourceforge.net/sshfs.html
+ Description
+ This is a filesystem client based on the SSH File Transfer Protocol.
+ Since most SSH servers already support this protocol it is very easy to
+ set up: i.e. on the server side there's nothing to do. On the client side
+ mounting the filesystem is as easy as logging into the server with ssh.
+===============================================================================
+***** Siefs *****
Author: Dmitry Zakharov aka Chaos / dmitry-z at mail ru
-
-Homepage: http://chaos.allsiemens.com/siefs
-
-Description
-
- SieFS is a virtual filesystem for accessing Siemens mobile phones'
- memory (flexmem or MultiMediaCard?) from Linux. Now you can mount
- your phone (by datacable or IRDA) and work with it like with any
- other removable storage.
-
-------------------------------------------------------------------------------
-Offline Media Content Database
-
+Homepage:
+http://chaos.allsiemens.com/siefs
+ Description
+ SieFS is a virtual filesystem for accessing Siemens mobile phones' memory
+ (flexmem or MultiMediaCard?) from Linux. Now you can mount your phone (by
+ datacable or IRDA) and work with it like with any other removable
+ storage.
+===============================================================================
+***** Offline Media Content Database *****
Name: MediaDatabase?
-
Author: Mediadatabase Team
-
-Homepage: http://mediadatabase.sourceforge.net/
-
-Description
-
- MediaDatabase? is database to store filesystem metadata (directory
- structure) and/or audio tracks descriptions of offline media and
- frontends to database (WWW, GUI and CUI). It was developed to
- fight chaos of large compact disk collection but it can help track
- other removable media such as floppy disks and data DVDs.
-
-------------------------------------------------------------------------------
-Cddfs
-
+Homepage:
+http://mediadatabase.sourceforge.net/
+ Description
+ MediaDatabase? is database to store filesystem metadata (directory
+ structure) and/or audio tracks descriptions of offline media and
+ frontends to database (WWW, GUI and CUI). It was developed to fight chaos
+ of large compact disk collection but it can help track other removable
+ media such as floppy disks and data DVDs.
+===============================================================================
+***** Cddfs *****
Author: Matthieu Castet
-
-Homepage: http://castet.matthieu.free.fr/cddfs/
-
-Description
-
- Cddfs is a file system for fuse that use libparanoia in order to
- mount your audio cd.
-
-------------------------------------------------------------------------------
-SMBNetFS
-
+Homepage:
+http://castet.matthieu.free.fr/cddfs/
+ Description
+ Cddfs is a file system for fuse that use libparanoia in order to mount
+ your audio cd.
+===============================================================================
+***** SMBNetFS *****
Author: Mikhail Kshevetskiy / kl at laska dorms spbu ru
-
-Homepage: http://smbnetfs.airm.net/
-
-Description
-
- SMBNetFS is a Linux filesystem that allow you to use
- samba/microsoft network in the same manner as the network
- neighborhood in Microsoft Windows.
-
-------------------------------------------------------------------------------
-ntfsmount
-
+Homepage:
+http://sourceforge.net/projects/smbnetfs
+ Description
+ SMBNetFS is a Linux/FreeBSD filesystem that allow you to use samba/
+ microsoft network in the same manner as the network neighborhood in
+ Microsoft Windows. Main features: periodic rescan of workgroup/computer
+ entries, filenames/shares with national character supported, you can
+ specify user/password on per share basis. Currently it works on Linux-
+ 2.4, Linux-2.6 and FreeBSD-6.0.
+===============================================================================
+***** ntfsmount *****
Author: Yura Pakhuchiy / pakhuchiy at gmail com
-
-Homepage: http://linux-ntfs.org/
-
-Description
-
- ntfsmount is part of ntfsprogs package. It's rely on libntfs,
- thus it have more features than kernel driver. ntfsmount supports
- file overwrite with changes to file size, have limited file and
- directory creation/deletion support and can operate with named
- data streams. CVS version also supports special Interix files
- (symlinks, block and character devies, FIFOs and sockets).
-
-------------------------------------------------------------------------------
-BitTorrent File System
-
+Homepage:
+http://linux-ntfs.org/
+ Description
+ ntfsmount is part of ntfsprogs package. It's rely on libntfs, thus it
+ have more features than kernel driver. ntfsmount supports file overwrite
+ with changes to file size, have limited file and directory creation/
+ deletion support, can operate with named data streams and supports
+ special Interix files (symlinks, block and character devies, FIFOs and
+ sockets).
+===============================================================================
+***** BitTorrent File System *****
Name: BTSlave
-
Author: Bill Cox / bill at viasic com
-
-Homepage: http://btslave.sourceforge.net/
-
-Description
-
- BTSlave allows users to mount a BitTorrent? .torrent file as a
- file system.
-
-------------------------------------------------------------------------------
-GfarmFS
-
+Homepage:
+http://btslave.sourceforge.net/
+ Description
+ BTSlave allows users to mount a BitTorrent? .torrent file as a file
+ system.
+===============================================================================
+***** GfarmFS *****
Author: Takuya Ishibashi / takuya at soum co jp
-
-Homepage: http://datafarm.apgrid.org/software/gfarmfs-fuse.en.html
-
-Description
-
- GfarmFS-FUSE enables you to mount a Gfarm filesystem in userspace.
- Grid Datafarm is a Petascale data-intensive computing project
- initiated in Japan. The challenge involves construction of a
- Peta- to Exascale parallel filesystem exploiting local storages of
- PCs spread over the world-wide Grid.
-
-------------------------------------------------------------------------------
-Clustered Ordinary Raid Network File System
-
+Homepage:
+http://datafarm.apgrid.org/software/gfarmfs-fuse.en.html
+ Description
+ GfarmFS-FUSE enables you to mount a Gfarm filesystem in userspace. Grid
+ Datafarm is a Petascale data-intensive computing project initiated in
+ Japan. The challenge involves construction of a Peta- to Exascale
+ parallel filesystem exploiting local storages of PCs spread over the
+ world-wide Grid.
+===============================================================================
+***** Clustered_Ordinary_Raid_Network_File_System *****
Name: CORNFS
-
Author: Ian C. Blenke / icblenke at nks net
-
-Homepage: http://ian.blenke.com/projects/cornfs/cornfs.html
-
-Description
-
- CORNFS is an attempt at creating a distributed filesystem that
- mirrors N copies of files across a group of M number of servers.
- Everything in CORNFS is stored as a file. At any time, it is
- possible to reconstruct the entire filesystem via a simple overlay
- rsync from the remote filesystems.
-
-------------------------------------------------------------------------------
-djmount
-
+Homepage:
+http://ian.blenke.com/projects/cornfs/cornfs.html
+ Description
+ CORNFS is an attempt at creating a distributed filesystem that mirrors N
+ copies of files across a group of M number of servers. Everything in
+ CORNFS is stored as a file. At any time, it is possible to reconstruct
+ the entire filesystem via a simple overlay rsync from the remote
+ filesystems.
+===============================================================================
+***** djmount *****
Author: Rémi Turboult / r3mi at users sourceforge net
-
-Homepage: http://djmount.sourceforge.net
-
-Description
-
- djmount is a UPnP AV client. It mounts the media content of
- compatible UPnP AV devices as a Linux filesystem. The audio and
- video content on the network is automatically discovered, and can
- be browsed as a standard directory tree. djmount should work with
- any UPnP AV compliant devices or software servers.
-
-------------------------------------------------------------------------------
-HTTP-FUSE KNOPPIX
-
-Homepage: http://unit.aist.go.jp/itri/knoppix/http-fuse/index-en.html
-
-Description
-
- HTTP-FUSE-KNOPPIX-4.0 is only 5MB CD image and enables us to use
- same contents of 3.8GB DVD KNOPPIX 4.0. We don't need to download
- 3.8GB iso image at one time and burn DVD.
-
-------------------------------------------------------------------------------
-WikipediaFS
-
+Homepage:
+http://djmount.sourceforge.net
+ Description
+ djmount is a UPnP AV client. It mounts the media content of compatible
+ UPnP AV devices as a Linux filesystem. The audio and video content on the
+ network is automatically discovered, and can be browsed as a standard
+ directory tree. djmount should work with any UPnP AV compliant devices or
+ software servers.
+===============================================================================
+***** httpfs *****
+Homepage:
+http://httpfs.sourceforge.net
+ Description
+ httpfs
+ mounts any file, that is accessible by http, read only. It's clearly
+ less than webdav. But it don't need a cooperating server. Only HTTP/1.1
+ is necessary.
+===============================================================================
+***** HTTP-FUSE_KNOPPIX *****
+Homepage:
+http://unit.aist.go.jp/itri/knoppix/http-fuse/index-en.html
+ Description
+ HTTP-FUSE-KNOPPIX-4.0 is only 5MB CD image and enables us to use same
+ contents of 3.8GB DVD KNOPPIX 4.0. We don't need to download 3.8GB iso
+ image at one time and burn DVD.
+===============================================================================
+***** WikipediaFS *****
Author: Mathieu Blondel
-
-Homepage: http://wikipediafs.sourceforge.net
-
-Description
-
- WikipediaFS is a mountable Linux virtual file system that enables
- you to deal with Wikipedia articles as though they were real files
- on your hard drive.
-
-------------------------------------------------------------------------------
-fusecram
-
-Author: Dmitry Morozhnikov dmiceman@mail.ru
-
-Download: http://ubiz.ru/dm/fusecram-20051104.tar.bz2
-
-Description
-
- FUSE module to mount cramfs images for purposes of
- http://klik.atekon.de/ project. For details see this article:
- http://www.knoppix.net/forum/viewtopic.php?t=21173.
-
-------------------------------------------------------------------------------
-fuseiso
-
-Status: alpha
-
-Author: Dmitry Morozhnikov dmiceman@mail.ru
-
+Homepage:
+http://wikipediafs.sourceforge.net
+ Description
+ WikipediaFS is a mountable Linux virtual file system that enables you to
+ deal with Wikipedia articles as though they were real files on your hard
+ drive.
+===============================================================================
+***** fusecram *****
+Author: Dmitry Morozhnikov
+dmiceman@mail.ru
+Download:
+http://ubiz.ru/dm/fusecram-20051104.tar.bz2
+ Description
+ FUSE module to mount cramfs images for purposes of
+ http://klik.atekon.de/
+ project. For details see this article:
+ http://www.knoppix.net/forum/viewtopic.php?t=21173
+ .
+===============================================================================
+***** fuseiso *****
+Status: beta
+Author: Dmitry Morozhnikov
+dmiceman@mail.ru
Homepage: FuseIso
-
-Download: http://ubiz.ru/dm/fuseiso-20060107.tar.bz2
-
-Description
-
- FUSE module to mount ISO9660 images for purposes of
- http://klik.atekon.de/ project.
-
-------------------------------------------------------------------------------
-Logic File System
-
+Download:
+http://ubiz.ru/dm/fuseiso-20061017.tar.bz2
+ Description
+ FUSE module to mount ISO9660 images for purposes of
+ http://klik.atekon.de/
+ project.
+===============================================================================
+***** Logic File System *****
Author: Yoann padioleau (padiolea@irisa.fr)
-
-Homepage: http://lfs.irisa.fr/~pad/soft/LFSWEB
-
-Description
-
- It's something like Spotlight from Apple and WinFS from Microsoft,
- just better. For details see LfsDetails.
-
-------------------------------------------------------------------------------
-FUSE&DPAP
-
-Homepage: http://cgi.sfu.ca/~jdbates/moin/moin.cgi/FUSE&DPAP
-
-Description
-
- FUSE filesystem for mounting Apple iPhoto DPAP shares Using this
- filesystem, I can synchronize photos with Gallery using filesystem
- tools like Unison
-
-------------------------------------------------------------------------------
-DBToy
-
-Homepage: http://www.thesaguaros.com/beta/newsag/products/dbtoyfs/
-
-Description
-
- DBToy is a fuse-based filesystem for linux, that lets you browse
- the contents of a relational database through a set of directories
- and xml files.
-
-------------------------------------------------------------------------------
-wdfs - webdav filesystem
-
+Homepage:
+http://lfs.irisa.fr/~pad/soft/LFSWEB
+ Description
+ It's something like Spotlight from Apple and WinFS from Microsoft, just
+ better. For details see LfsDetails.
+===============================================================================
+***** FUSE&DPAP *****
+Homepage:
+http://cgi.sfu.ca/~jdbates/moin/moin.cgi/FUSE&DPAP
+ Description
+ FUSE filesystem for mounting Apple iPhoto DPAP shares Using this
+ filesystem, I can synchronize photos with Gallery using filesystem tools
+ like Unison
+===============================================================================
+***** DBToy *****
+Homepage:
+http://www.thesaguaros.com/beta/newsag/products/dbtoyfs/
+ Description
+ DBToy is a fuse-based filesystem for linux, that lets you browse the
+ contents of a relational database through a set of directories and xml
+ files.
+===============================================================================
+***** wdfs - webdav filesystem *****
Author: jens m. noedler (noedler at web dot de)
-
-Homepage: http://noedler.de/projekte/wdfs/
-
-Description
-
- wdfs is a webdav filesystem with special features for accessing
- subversion repositories. it is based on fuse v2.3+ and neon
- v0.24.7+. give it a try!
-
-------------------------------------------------------------------------------
-compFUSEd
-
+Homepage:
+http://noedler.de/projekte/wdfs/
+ Description
+ wdfs is a webdav filesystem. In combination with Subversion and Apache it
+ can be used as a versioning filesystem for Subversion repositories. It is
+ based on FUSE v2.3+ and neon v0.24.7+.
+===============================================================================
+***** compFUSEd *****
Author: Johan Parent (johan at info dot vub dot ac dot be )
-
-Homepage: http://parallel.vub.ac.be/~johan/compFUSEd
-
-Description
-
- An overlay filesystem providing transparant compression with both
- read and write support. This filesystem sits on top of an
- existing fs. Fully configurable, different compression algorithms
- available (lzo, zlib, bzip2). Still young but usable!
-
-------------------------------------------------------------------------------
-FuseCompress
-
+Homepage:
+http://parallel.vub.ac.be/~johan/compFUSEd
+ Description
+ An overlay filesystem providing transparant compression with both read
+ and write support. This filesystem sits on top of an existing fs. Fully
+ configurable, different compression algorithms available (lzo, zlib,
+ bzip2). Still young but usable!
+===============================================================================
+***** FuseCompress *****
Author: Milan Svoboda (milan dot svoboda at centrum dot cz)
-
-Homepage: http://www.miio.net/fusecompress
-
-Description
-
- FuseCompress provides a mountable Linux filesystem which
- transparently compress its content.
-
-------------------------------------------------------------------------------
-FuseFTP
-
+Homepage:
+http://www.miio.net/fusecompress
+ Description
+ FuseCompress provides a mountable Linux filesystem which transparently
+ compress its content.
+===============================================================================
+***** FuseFTP *****
Author: Marcus Thiesen (marcus at thiesen dot org)
-
-Homepage: http://wiki.thiesen.org/page/Fuseftp
-
-Description
-
- FuseFTP is a FTP filesystem written in Perl.
-
-------------------------------------------------------------------------------
-CopyFS
-
+Homepage:
+http://wiki.thiesen.org/page/Fuseftp
+ Description
+ FuseFTP is a FTP filesystem written in Perl.
+===============================================================================
+***** CopyFS *****
Authors: Thomas Joubert and Nicolas Vigier (boklm@mars-attacks.org)
-
-Homepage: http://n0x.org/copyfs/
-
-Description
-
- A versionned file system. When you modify a file, any anterior
- version is kept. You can revert to an older version when you
- want.
-
-------------------------------------------------------------------------------
-GnomeVFS2 FUSE
-
+Homepage:
+http://n0x.org/copyfs/
+ Description
+ A versionned file system. When you modify a file, any anterior version is
+ kept. You can revert to an older version when you want.
+===============================================================================
+***** GnomeVFS2_FUSE *****
Author: Christian Pellegrin (chripell at gmail dot com)
-
-Homepage: http://sole.infis.univ.ts.it/~chri/gnome-vfs-fuse-0.1.tar.gz
-
-Description
-
- Gateway between FUSE and Gnome VFS2. Allows you to mount
- everything that Nautilus can and looks like a directory.
-
-------------------------------------------------------------------------------
-Flickrfs
-
-Author: Manish Rai Jain
-
-Homepage: http://flickrfs.sourceforge.net
-
-Description
-
- Flickr virtual filesystem which allows easy
- uploading/downloading/searching of photos through standard linux
- commands.
-
-------------------------------------------------------------------------------
-FSFS - the Fast Secure File System
-
-Author: Nicola Cocchiaro
-
-Homepage: http://fsfs.sf.net
-
-Description
-
- The Fast Secure File System exports files and directories securely
- over the network, and lets users store and retrieve encrypted
- data. It moves most cryptography to clients, achieving better
- scalability.
-
-------------------------------------------------------------------------------
-Archive2Fuse - mount archives
-
+Homepage:
+http://sole.infis.univ.ts.it/~chri/gnome-vfs-fuse-0.1.tar.gz
+ Description
+ Gateway between FUSE and Gnome VFS2. Allows you to mount everything that
+ Nautilus can and looks like a directory.
+===============================================================================
+***** Flickrfs *****
+Author:
+Manish_Rai_Jain
+Homepage:
+http://flickrfs.sourceforge.net
+ Description
+ Flickr
+ virtual filesystem which allows easy uploading/downloading/searching of
+ photos through standard linux commands.
+===============================================================================
+***** FSFS_-_the_Fast_Secure_File_System *****
+Author:
+Nicola_Cocchiaro
+Homepage:
+http://fsfs.sf.net
+ Description
+ The Fast Secure File System exports files and directories securely over
+ the network, and lets users store and retrieve encrypted data. It moves
+ most cryptography to clients, achieving better scalability.
+===============================================================================
+***** archivemount_-_mount_archives_(tar,_cpio,_...) *****
Author: Andre Landwehr (andrel at cybernoia de)
-
-Homepage: http://www.cybernoia.de/software/archivemount/archivemount-0.2.tar.gz
-
-Description
-
- Gateway between FUSE and libarchive. Allows mounting of cpio,
- .tar.gz, .tar.bz2 archives. Currently this is readonly, patches
- welcome. Supports all formats libarchive supports.
-
-------------------------------------------------------------------------------
-Fuse::DBI - mount some data from relational database as files
-
+Homepage:
+http://www.cybernoia.de/software/archivemount/archivemount-0.5.2.tar.gz
+ Description
+ Gateway between FUSE and
+ libarchive
+ . Allows mounting of cpio, .tar.gz, .tar.bz2 archives. Reading and
+ writing supported. Supports all formats libarchive supports. Current
+ status: Most functions implemented but largely untested; feel free to
+ report and/or fix bugs...
+===============================================================================
+***** Fuse::DBI_-_mount_some_data_from_relational_database_as_files *****
Author: Dobrica Pavlinusic (dpavlin at rot13 dot org)
-
-Homepage: http://www.rot13.org/~dpavlin/fuse_dbi.html
-
-Description
-
- Simple way to export one type of data (e.g. html templates or
- content) from any database supported by perl's DBI modules back to
- filesystem for quick editing.
-
-------------------------------------------------------------------------------
-NOOFS - Network Object Oriented File System
-
+Homepage:
+http://www.rot13.org/~dpavlin/fuse_dbi.html
+ Description
+ Simple way to export one type of data (e.g. html templates or content)
+ from any database supported by perl's DBI modules back to filesystem for
+ quick editing.
+===============================================================================
+***** NOOFS_-_Network_Object_Oriented_File_System *****
Author: NOOFS development team (contact at noofs dot org)
-
-Homepage: http://www.noofs.org/
-
-Description
-
- NOOFS (Network Object Oriented File System) is a filesystem which
- is storing its data in an SQL relational database. It supports
- virtual directories, extended attributes, dynamic ACLs, advanced
- search functions, advanced security managament, native data
- integrity management. The project is developed within the
- framework of an end of studies project in EPITECH whose source
- code is distributed under the terms of the GNU General Public
- License.
-
-------------------------------------------------------------------------------
-LoggedFS - The logged filesystem
-
+Homepage:
+http://www.noofs.org/
+ Description
+ NOOFS (Network Object Oriented File System) is a filesystem which is
+ storing its data in an SQL relational database. It supports virtual
+ directories, extended attributes, dynamic ACLs, advanced search
+ functions, advanced security managament, native data integrity
+ management. The project is developed within the framework of an end of
+ studies project in EPITECH whose source code is distributed under the
+ terms of the GNU General Public License.
+===============================================================================
+***** LoggedFS_-_The_logged_filesystem *****
Author: remipouak@yahoo.fr
-
-Homepage: http://loggedfs.sourceforge.net/
-
-Description
-
- LoggedFS is a filesystem which allows to see every single
- operations that happens in a filesystem. You can choose which
- type of files you want to log. Then you can see read, write,
- chmod, chown, etc... that happens on files. Logs are added to
- syslog.
-
-------------------------------------------------------------------------------
-LZOlayer_fs - Transparent compression filesystem
-
+Homepage:
+http://loggedfs.sourceforge.net/
+ Description
+ LoggedFS is a filesystem which allows to see every single operations that
+ happens in a filesystem. You can choose which type of files you want to
+ log. Then you can see read, write, chmod, chown, etc... that happens on
+ files. Logs are added to syslog.
+===============================================================================
+***** LZOlayer_fs_-_Transparent_compression_filesystem *****
Author: kazikcz@gmail.com
-
-Homepage: http://north.one.pl/~kazik/pub/LZOlayer
-
-Description
-
- LZOlayer_fs is a filesystem which allows you to use compressed
- files, just as they would be normal files. Read and write
- operations are possible. Very young, but seems to be stable and
- pretty usable. Consumes low memory. Supports LZO and ZLIB
- compression algorithms.
-
-------------------------------------------------------------------------------
-fusepak - Support for PACK and WAD files
-
+Homepage:
+http://north.one.pl/~kazik/pub/LZOlayer
+ Description
+ LZOlayer_fs is a filesystem which allows you to use compressed files,
+ just as they would be normal files. Read and write operations are
+ possible. Very young, but seems to be stable and pretty usable. Consumes
+ low memory. Supports LZO and ZLIB compression algorithms.
+===============================================================================
+***** fusepak_-_Support_for_PACK_and_WAD_files *****
Author: Janusz Dziemidowicz <rraptorr@nails.eu.org>
-
-Homepage: http://fusepak.sourceforge.net
-
-Description
-
- Fusepak allows mounting PACK and WAD files (used by many games
- based on idSoftware engine, ie. Quake, Doom, Half-Life).
-
-------------------------------------------------------------------------------
-Grifi: GridFTP File System
-
+Homepage:
+http://fusepak.sourceforge.net
+ Description
+ Fusepak allows mounting PACK and WAD files (used by many games based on
+ idSoftware engine, ie. Quake, Doom, Half-Life).
+===============================================================================
+***** Grifi:_GridFTP_File_System *****
Author: Leandro Franco (leo dot franco at gmail dot com)
-
-Homepage: http://grifi.sourceforge.net/
-
-Description
-
- grifi is a virtual file system (developed with FUSE) that allows a
- user to mount a remote directory using the GridFTP protocol. It
- is based on the UberFTP client and on FTPFS from the LUFS project.
-
-------------------------------------------------------------------------------
-FunionFS: An UnionFS over FUSE
-
+Homepage:
+http://grifi.sourceforge.net/
+ Description
+ grifi is a virtual file system (developed with FUSE) that allows a user
+ to mount a remote directory using the GridFTP protocol. It is based on
+ the UberFTP client and on FTPFS from the LUFS project.
+===============================================================================
+***** FunionFS:_An_UnionFS_over_FUSE *****
Author: Stephane APIOU (stephane dot apiou at free dot fr)
-
-Homepage: http://funionfs.apiou.org
-
-Description
-
- FunionFS is the aggregation of two filesystems: a read-only and a
- read-write one. The read-only filesystem could be a CDROM or a
- flash disk for an embedded system. The read-write filesystem
- could be a Ramdisk or a partition on an USB key ... All datas are
- read from the read-only filesystem if they are not present on the
- read write one. Data are written to the read-write filesystem.
- it's the same principle as the unionfs driver used in the well
- known Knoppix CDROM.
-
-------------------------------------------------------------------------------
-BlogFS
-
+Homepage:
+http://funionfs.apiou.org
+ Description
+ FunionFS is the aggregation of two filesystems: a read-only and a read-
+ write one. The read-only filesystem could be a CDROM or a flash disk for
+ an embedded system. The read-write filesystem could be a Ramdisk or a
+ partition on an USB key ... All datas are read from the read-only
+ filesystem if they are not present on the read write one. Data are
+ written to the read-write filesystem. it's the same principle as the
+ unionfs driver used in the well known Knoppix CDROM.
+===============================================================================
+***** BlogFS *****
Author: Rohan ( rohan.pm@gmail.com )
-
-Homepage: http://rohanpm.net/blogfs
-
-Description
-
- Mount your WordPress (and maybe other MetaWeblog? compatible)
- blog(s). Supports reading and writing posts.
-
-------------------------------------------------------------------------------
-MythTVfs
-
+Homepage:
+http://rohanpm.net/blogfs
+ Description
+ Mount your
+ WordPress
+ (and maybe other MetaWeblog? compatible) blog(s). Supports reading and
+ writing posts.
+===============================================================================
+***** MythTVfs *****
Author: Kees Cook ( kees@outflux.net )
-
-Homepage: http://www.outflux.net/software/pkgs/mythtvfs-fuse/
-
-Description
-
- Designed to communicate with a MythTV backend server. It creates
- an overlay filesystem that encodes TV Program metadata (title,
- episode, description) into a filename so that systems that do not
- natively talk to MythTV can still get information about a given
- show. The initial design goal is to make it compatible with the
- in-filename metadata extraction capabilities that will (hopefully)
- be in future versions of Galleon.
-
-------------------------------------------------------------------------------
-OpenomyFS
-
+Homepage:
+http://outflux.net/software/pkgs/mythtvfs-fuse/
+ Description
+ Designed to communicate with a MythTV backend server. It creates an
+ overlay filesystem that encodes TV Program metadata (title, episode,
+ description) into a filename so that systems that do not natively talk to
+ MythTV can still get information about a given show. The initial design
+ goal is to make it compatible with the in-filename metadata extraction
+ capabilities that will (hopefully) be in future versions of
+ Galleon
+ .
+===============================================================================
+***** OpenomyFS *****
Author: Maurice Codik / maurice.codik@gmail.com
-
-Homepage: http://mauricecodik.com/projects/ofs
-
-Description
-
- OpenomyFS uses the Ruby FUSE bindings to create a filesystem that
- lets you access data from your Openomy account. OpenomyFS lets
- you download/upload files from your account and manage your tags.
-
+Homepage:
+http://mauricecodik.com/projects/ofs
+ Description
+ OpenomyFS uses the Ruby FUSE bindings to create a filesystem that lets
+ you access data from your
+ Openomy
+ account. OpenomyFS lets you download/upload files from your account and
+ manage your tags.
+===============================================================================
+***** Captive_NTFS *****
+Author: Jan Kratochvil
+Homepage:
+http://www.jankratochvil.net/project/captive/
+ Description
+ Captive provides full secure and transparent write support for
+ Microsoft's proprietary NTFS file system by utilizing the original
+ ntfs.sys driver of Windows XP. While earlier releases used LUFS, version
+ 1.1.6.1, released Dec. 29. 2005 has been ported to FUSE.
+===============================================================================
+***** unionfs-fuse *****
+Author: Radek Podgorny (radek@podgorny.cz)
+Homepage:
+http://podgorny.cz/unionfs-fuse/
+ Description
+ This is a FUSE based implementation of the well-known unionfs. The
+ userland version (this one) is a bit slower but way more flexible.
+ Supporting (almost) unlimited number of roots, stats, caching... See
+ homepage for more info...
+===============================================================================
+***** Lkarmafs *****
+Author: EV (evidal at iti dot upv dot es)
+Homepage:
+http://linux-karma.sourceforge.net/lkarmafs.html
+ Description
+ A user-space filesystem for the 20GB Rio Karma personal digital audio
+ player, based on libkarma and FUSE. It provides most usual filesystem
+ calls, including support for multiple, concurrent READ/WRITE. File
+ properties such as size, permissions, creation and access times, are
+ shown as regular file attributes. For all the other properties (codec,
+ bit rate, times played, etc.), extended attributes are used. Therefore,
+ full access to all the file data and metadata is granted using standart
+ GNU-Linux tools.
+===============================================================================
+***** Apretujado_Filesystem *****
+Author: Jose O. Suarez (guebby at gmail dot com)
+Homepage:
+http://apfs.humorgraficojr.com
+ Description
+ A read-write-access filesystem with transparent compression. It works on
+ real block devices. The filesystem format is simple, but compression and
+ speed are enough. The homepage is now in english and spanish.
+===============================================================================
+***** ELFI *****
+Author: Antonio Messina (antonio.messina at ictp dot it)
+Homepage:
+http://www.egrid.it/sw/elfi
+ Description
+ A filesystem interface to the LCG-2 GRID storage.
+===============================================================================
+***** CryptoFS *****
+Author Christoph Hohmann (reboot@gmx.ch)
+Homepage:
+http://reboot.animeirc.de/cryptofs/
+ Description
+ CryptoFS is a encryption filesystem for Filesystem in Userspace (FUSE).
+ Files written to the mount point will be stored encrypted (data and
+ filename) in a directory on a normal filesystem.
+===============================================================================
+***** Afuse *****
+Author: Jacob Bower (jacob.bowerNO@SPAMic.ac.uk (remove the caps))
+Homepage:
+http://afuse.sourceforge.net/
+ Description
+ A FUSE based automounter.
+===============================================================================
+***** FUSEPod *****
+Author: Keegan Carruthers-Smith (keegan dot csmith at gmail dot com)
+Homepage:
+http://fusepod.sourceforge.net/
+ Description
+ A virtual filesystem for accessing your iPod.
+===============================================================================
+***** CurlFtpFS *****
+Author: Robson Braga Araujo (robsonbraga at gmail dot com)
+Homepage:
+http://curlftpfs.sourceforge.net/
+ Description
+ A filesystem for accessing FTP sites. It's based on libcurl and
+ automatically reconnects when the server times out.
+===============================================================================
+***** wikifuse *****
+Author: Nedko Arnaudov
+Homepage:
+http://nedko.arnaudov.name/soft/wikifs/wikifuse.py
+ Description
+ FUSE filesystem for wiki, uses wiki xml-rpc interface v2.
+===============================================================================
+***** Mountlo *****
+Author: Miklos Szeredi / miklos at szeredi hu
+Homepage:
+http://sourceforge.net/project/showfiles.php?group_id=121684&package_id=150116
+ Description
+ Loopback mount filesystem- or disk-images without root privileges. All
+ filesystems present in the Linux kernel are supported. It works by
+ mounting the image inside a User Mode Linux instance and exporing it with
+ FUSE. Despite the crude approach it's reasonably fast.
+===============================================================================
+***** fuse_adfs *****
+Author: David Boddie / david at boddie org uk
+Homepage:
+http://www.boddie.org.uk/david/Projects/Python/FUSE/
+ Description
+ The fuse_adfs module uses FUSE to present the contents of ADFS reading
+ facilities. The filesystem translates ADFS-style filenames to Unix-
+ friendly ones and adds suffixes to filenames to help applications
+ recognize certain types of files.
+===============================================================================
+***** rarfs *****
+Author: Kent Gustavsson / nedo80 at gmail com
+Homepage:
+http://vattnadal.mine.nu/rarfs/doku.php?id=start
+ Description
+ Uses fuse to mount a rar archive that has NOT been compressed
+===============================================================================
+***** localfs *****
+Author:
+Victor_Porton
+Homepage:
+http://freesoft.ex-code.com/virtual-filesystems.xml
+ Description
+ Simply mirrors a directory, just like a directory hardlink. Intended
+ mainly for testing and example.
+===============================================================================
+***** dereferencefs *****
+Author:
+Victor_Porton
+Homepage:
+http://freesoft.ex-code.com/virtual-filesystems.xml
+ Description
+ Dereferences all symlinks (symbolic links) in a directory. When a symlink
+ is moved, it is automatically updated to continue to point to the same
+ file.
+===============================================================================
+***** fsfipi & vaves *****
+Author: Václav Jůza / vaclavjuza at gmail dot com
+Homepage:
+http://fsfipi.sourceforge.net
+ (not yet finished), download at
+http://sourceforge.net/projects/fsfipi
+ Description
+ fsfipi: A framework supporting a cascade of filters, which modify the
+ behaviour of a filesystem. Each filter uses the same interface for the
+ higher level (i. e. the requests, what operations this filesystem shall
+ do) and for the lower level interface (performing the file operations).
+ Only the lowest level filter uses actual system calls to store files on
+ the real file system (localfs) or there is a possibility of making sshfs-
+ like lowest level filter. The only highest level filter now is
+ fuse_interface, which implements a fuse filesystem daemon and sends the
+ requests to the lower level filter.
+ vaves: a filter for this framework, implementing a very configurable
+ versioning file system.
+===============================================================================
+***** LAFS *****
+Author: Stefan Berndtsson / dev-lafs at slask dot nocrew dot org
+Homepage:
+http://junk.nocrew.org/~stefan/lafs/
+ Description
+ A filesystem for organising and categorising files and directories with
+ the metadata stored in a PostgreSQL database.
+===============================================================================
+***** unpackfs *****
+Author: Jochen Hepp / jochen dot hepp at gmx dot de
+Homepage:
+http://www.nongnu.org/unpackfs/
+ Description
+ A filesystem for transparent unpacking of archives. It shows the content
+ of archives right beside them in the filesystem hierarchy. Supported
+ archive types are: ace, ar, arj, bzip2, cab, compress, cpio, deb, exe-
+ sfx-ace, exe-sfx-rar, exe-sfx-zip, gzip, lha, lzop, mac, openoffice-zip,
+ ppmd, rar, share, tar, tnef, uudecode, zip, zoo. All existing and any new
+ archiv type are configured in a plain text file.
+===============================================================================
+***** hierfs *****
+Author: Georges Kesseler
+Homepage:
+http://hierfs.sourceforge.net/
+ Description
+ a simple way of managing a vast amount of data over multiple CD-R media
+ by simulating all files on the CDs as if they were online on the
+ harddisk. When a file is accessed, a dialog box asks for the correct CD.
+ So any program can be used to acces the data without needing to know the
+ files are on CD. Scripts are included for migrating data to CD (which was
+ the more difficult work). Note that this project has not been updated
+ since 3 years.
+===============================================================================
+***** fuse-ext2 *****
+Author: Jeff Garzik
+Homepage:
+http://www.kernel.org/pub/linux/kernel/people/jgarzik/fs/
+Repository: git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/fuse-ext2.git
+ Description
+ Uses standard libext2 from e2fsprogs to implement an ext2 filesystem in
+ userspace.
+===============================================================================
+***** TagsFs? *****
+Author: Romain Beauxis
+Homepage:
+https://gna.org/projects/tagsfs
+ Description
+ TagsFS is a file system for music files. It presents your mp3 and ogg
+ files in a virtual tree based on the tags of the files.
+ You can browse your files by artist, title and album, as well as
+ searching based upon tags.
+ The nice aspect of this is that all the virtual files appears as real
+ audio files, so that it gives the ability of a complete music library to
+ any application you like!
+===============================================================================
+***** Cromfs *****
+Author:
+Joel_Yliluoma
+Homepage:
+http://bisqwit.iki.fi/source/cromfs.html
+ Description
+ Cromfs is a compressed read-only filesystem, similar to Cramfs and
+ Squashfs. It uses the
+ lzma
+ compression algorithm.
+ It splits each file into fixed-size blocks and compresses the blocks
+ together in larger clusters, so that blocks from different files are
+ compressed together for smaller size. Directories, inodes and block lists
+ are also compressed. In some cases, it beats Squashfs by a factor of four
+ in terms of compression power. On the flip side, it is noticeably slower
+ than its peers, and requires more RAM.
===============================================================================
-Operating Systems
+***** mysqlfs *****
+Author: Tsukasa Hamano
+Homepage:
+https://sourceforge.net/projects/mysqlfs/
+ Description
+ mysqlfs is linux filesystem which store file in mysql database.
+===============================================================================
+***** Yacufs *****
+Author: Frank Reerink
+Homepage:
+https://www.uitwisselplatform.nl/projects/yacufs
+ Description
+ Yacufs is a virtual file system that is able to convert your files on-
+ the-fly. It allows you to access various file types as a single file
+ type. For instance you can access your music library containing .ogg,
+ .flac and .mp3 files, but see them all as if being .mp3 files.
+===============================================================================
+***** ferrisfuse *****
+Author: Ben Martin
+Homepage:
+http://sourceforge.net/project/showfiles.php?group_id=16036&package_id=191598
+ Description
+ libferris is a virtual filesystem that exposes various hierarchical data
+ including: native (kernel disk IO with fam), XML (mount an XML file as a
+ filesystem), DB4, xmldb, Evolution, Firefox, Emacs, LDAP, HTTP, FTP, eet,
+ sockets, RDF/XML, RDF/bdb, and mbox.
+===============================================================================
+***** ZFS *****
+Author: Ricardo Correia / rcorreia at wizy org
+Homepage:
+http://www.wizy.org/wiki/ZFS_on_FUSE
+ Description
+ ZFS
+ is a modern advanced filesystem, originally designed by Sun Microsystems
+ for the OpenSolaris? operating system. This project is a port of ZFS to
+ the FUSE framework, done as part of the
+ Google_Summer_of_Code_2006
+ program.
+===============================================================================
+***** FUR *****
+Author: Riccardo Di Meo / riccardo at infis dot univ . trieste D0t it
+Homepage:
+http://www.infis.univ.trieste.it/~riccardo
+ Description
+ FUR
+ mounts a Windows CE filesystem (read and write) and registry (read only)
+ locally. It uses the libraries from the
+ SynCE_Project
+ .
+===============================================================================
+***** 9pfuse *****
+Author: Christoph Lohmann / 20h at r-36 dot net
+Downloadlink:
+http://www.r-36.net/9pfuse.tgz
+ Description
+ 9pfuse is a file system that allows you to mount 9P shares into your
+ namespace. See "v9fs" or "Plan 9 from Bell Labs" for more details.
+===============================================================================
+***** ntfs-3g *****
+Link:
+http://sourceforge.net/mailarchive/forum.php?thread_id=23836054&forum_id=2697
+Author: Szakacsits Szabolcs
+Downloadlink:
+http://mlf.linux.rulez.org/mlf/ezaz/ntfs-3g-20070714-BETA.tgz
+ Description
+ A read-write ntfs driver, capable of unlimited file creation and
+ deletion.
+===============================================================================
+***** playlistfs *****
+Link:
+http://sourceforge.net/projects/playlistfs/
+Author: Vijay Gill (vijay.s.gill@gmail.com)
+Downloadlink:
+http://sourceforge.net/projects/playlistfs/
+ Description
+ A fuse file system which allows to present a group of play list files (in
+ a directory) as directories to allow easy management. A folder with
+ playlists is presented as /playlists and all the playlists in the
+ original folder are shown as directories.
+===============================================================================
+***** gcfuse *****
+Author: Mike Melanson / mike at multimedia.cx
+Homepage:
+http://multimedia.cx/gcfuse/
+ Description
+ gcfuse is a program that allows you to mount a Nintendo GameCube? DVD
+ disk image as a read-only part of the Linux filesystem. This allows the
+ user to browse the directory structure and read the files within.
+ Further, gcfuse creates a special file called .metadata in the root
+ directory of the mounted filesystem containing other interesting items
+ like game title and publisher.
+===============================================================================
+***** wadfs *****
+Author: Jon Dowland / jon at alcopop.org
+Homepage:
+http://alcopop.org/games/doom#code
+ Description
+ A very simple implementation of doom-style WAD files as a FUSE
+ filesystem. Currently read-only. You may be more interested in fusepak,
+ above.
+===============================================================================
+***** mp3fs *****
+Author: David Collett
+Homepage:
+http://mp3fs.sourceforge.net
+ Description
+ MP3FS is a read-only filesystem which transcodes FLAC audio files to MP3
+ on the fly when opened and read.
+===============================================================================
+***** Hyppocampus *****
+Author: Roberto Guido
+Homepage:
+http://lobotomy.sf.net/Hyppocampus.php
+ Description
+ Experimental relational filesystem where the usual tree-structured
+ hierachic organization of file is substituted by a relational structure
+ navigable with SQL queries. The first prototypes are builds on top of
+ FUSE.
+===============================================================================
+***** DVDfs *****
+Author: Jared Stafford
+Homepage:
+http://www.jspenguin.org/dvdfs/
+ Description
+ DVDfs is a userspace filesystem which mounts a DVD using libdvdread (and,
+ by extension, libdvdcss). You can use this to make an exact copy of the
+ DVD video file structure.
+===============================================================================
+***** PUFS *****
+Author: J. Cameijo Cerdeira (cerdeira at co sapo pt)
+Homepage:
+http://sourceforge.net/projects/pufs
+ Description
+ PUFS - peer union fs - is a poor man's naïve distributed filesystem. Its
+ philosophy is in line with a peer network paradigm in the form of a
+ filesystem. The filesystem contents is the union of the directories
+ exported by each peer who joins the union.
+===============================================================================
+***** TrackerFS *****
+Author: Alex Kritikos
+Homepage:
+http://code.google.com/p/trackerfs/
+ Description
+ FUSE module that connects to a running
+ Tracker
+ document indexing deamon and populates a directory with symlinks
+ corresponding to a Tracker query on document (full-text!) content and
+ meta-data.
+===============================================================================
+***** GlusterFS *****
+Author:
+http://gluster.org/core-team.php
+Homepage:
+http://gluster.org/docs/index.php/GlusterFS
+ Description
+ GlusterFS is a clustered file-system capable of scaling to several peta-
+ bytes. It aggregates various storage bricks over Infiniband RDMA or TCP/
+ IP interconnect into one large parallel network file system. GlusterFS
+ client uses FUSE.
+===============================================================================
+***** ltspfs *****
+Homepage:
+http://wiki.ltsp.org/twiki/bin/view/Ltsp/LtspFS
+Author:
+http://ltsp.org/
+ Description
+ The Linux Terminal Server Project uses ltspfs to mount devices of the
+ terminal client on the terminal server, making them available to the
+ applications running on the terminal server. ltspfs is a remote
+ filesystem consisting of two parts: 1) A network server daemon that runs
+ on the LTSP terminal. 2) A FUSE module that runs in user-space on the
+ server, that connects with the daemon on the client.
+===============================================================================
+***** usmb *****
+Author: Geoff Johnstone
+Homepage:
+http://www.atmi41.dsl.pipex.com/code.html
+ Description
+ usmb lets you mount SMB/CIFS shares, as per "Map Network Drive" in
+ Windows' Explorer. Unlike the other SMB FUSE filesystems, which emulate
+ Network Neighbourhood, usmb lets you mount arbitrary SMB shares,
+ including hidden ones that you can't browse.
+===============================================================================
+***** beaglefs *****
+Author: Robert Love
+Homepage:
+http://rlove.org/log/2006070601
+ (announcement),
+http://www.kernel.org/pub/linux/kernel/people/rml/fuse/beaglefs/
+ (source)
+ Description
+ beaglefs allows you to browse beagle queries through your filesystem,
+ using symlinks to point to the matching files.
+===============================================================================
+***** rofs *****
+Author: Matthew Keller
+Homepage:
+http://mattwork.potsdam.edu/rofs
+ Description
+ Light and fast, allowing you to mount any folder tree as a read-only
+ filesystem that fully supports reading extended attributes and ACLs.
===============================================================================
-Linux-2.4.X
-Native port. New FUSE versions (2.X) support kernels 2.4.21 or later.
-------------------------------------------------------------------------------
-Linux-2.6.X
-Native port. New FUSE versions (2.X) support all 2.6 kernels.
+Operating systems
+~~~~~~~~~~~~~~~~~
+===============================================================================
+***** Linux-2.4.X *****
+Native port. New FUSE versions (2.X) support kernels 2.4.21 or later.
+===============================================================================
+***** Linux-2.6.X *****
+Native port. New FUSE versions (2.X) support all 2.6 kernels.
2.6.14 and up will have FUSE support included in the official kernel.
-
-------------------------------------------------------------------------------
-FreeBSD
-
+===============================================================================
+***** FreeBSD *****
Name: Fuse for FreeBSD
-
Author: Csaba Henk / csaba.henk at creo hu
-
-Homepage: http://fuse4bsd.creo.hu
-
-See also: CategoryFreeBSD
+Homepage:
+http://fuse4bsd.creo.hu
+===============================================================================
diff --git a/NEWS b/NEWS
index a41c92f..1558c46 100644
--- a/NEWS
+++ b/NEWS
@@ -12,6 +12,8 @@ What is new in 2.6
- Allow block device based filesystems to support swap files
+ - Several bugs fixed, including a rare system hang on SMP
+
What is new in 2.5
- Merge library part of FreeBSD port
diff --git a/kernel/dir.c b/kernel/dir.c
index b7305a2..ecf38fb 100644
--- a/kernel/dir.c
+++ b/kernel/dir.c
@@ -150,13 +150,9 @@ static int fuse_dentry_revalidate(struct dentry *entry, struct nameidata *nd)
return 0;
parent = dget_parent(entry);
- if (!parent->d_inode) {
- dput(parent);
- return 0;
- }
fuse_lookup_init(req, parent->d_inode, entry, &outarg);
- dput(parent);
request_send(fc, req);
+ dput(parent);
err = req->out.h.error;
/* Zero nodeid is same as -ENOENT */
if (!err && !outarg.nodeid)
@@ -196,11 +192,16 @@ static int valid_mode(int m)
S_ISBLK(m) || S_ISFIFO(m) || S_ISSOCK(m);
}
+/*
+ * Add a directory inode to a dentry, ensuring that no other dentry
+ * refers to this inode. Called with fc->inst_mutex.
+ */
static struct dentry *fuse_d_add_directory(struct dentry *entry,
struct inode *inode)
{
struct dentry *alias = d_find_alias(inode);
if (alias && !(alias->d_flags & DCACHE_DISCONNECTED)) {
+ /* This tries to shrink the subtree below alias */
fuse_invalidate_entry(alias);
dput(alias);
if (!list_empty(&inode->i_dentry))
@@ -1000,13 +1001,14 @@ static void iattr_to_fattr(struct iattr *iattr, struct fuse_setattr_in *arg)
static void fuse_vmtruncate(struct inode *inode, loff_t offset)
{
struct fuse_conn *fc = get_fuse_conn(inode);
- loff_t origsize = i_size_read(inode);
- if (origsize != offset) {
- spin_lock(&fc->lock);
- i_size_write(inode, offset);
- spin_unlock(&fc->lock);
- }
- if (origsize > offset) {
+ int need_trunc;
+
+ spin_lock(&fc->lock);
+ need_trunc = inode->i_size > offset;
+ i_size_write(inode, offset);
+ spin_unlock(&fc->lock);
+
+ if (need_trunc) {
struct address_space *mapping = inode->i_mapping;
unmap_mapping_range(mapping, offset + PAGE_SIZE - 1, 0, 1);
truncate_inode_pages(mapping, offset);
diff --git a/kernel/file.c b/kernel/file.c
index 6f941ad..6cf71f3 100644
--- a/kernel/file.c
+++ b/kernel/file.c
@@ -495,11 +495,10 @@ static int fuse_commit_write(struct file *file, struct page *page,
err = -EIO;
if (!err) {
pos += count;
- if (pos > i_size_read(inode)) {
- spin_lock(&fc->lock);
+ spin_lock(&fc->lock);
+ if (pos > inode->i_size)
i_size_write(inode, pos);
- spin_unlock(&fc->lock);
- }
+ spin_unlock(&fc->lock);
if (offset == 0 && to == PAGE_CACHE_SIZE) {
clear_page_dirty(page);
@@ -604,9 +603,10 @@ static ssize_t fuse_direct_io(struct file *file, const char __user *buf,
}
fuse_put_request(fc, req);
if (res > 0) {
- if (write && pos > i_size_read(inode)) {
+ if (write) {
spin_lock(&fc->lock);
- i_size_write(inode, pos);
+ if (pos > inode->i_size)
+ i_size_write(inode, pos);
spin_unlock(&fc->lock);
}
*ppos = pos;