Read Me(PlasticFS) Read Me(PlasticFS)
NAME
PlasticFS - The Plastic File System
DESCRIPTION
The Plastic File System uses FUSE to manipule what the file system
looks like for user programs. These virtual file systems exist in user
space, and no kernel hacks or modules (other than FUSE) are required.
dos The dos filter may be used to simulate an 8.3 DOS filesystem.
downcase
The downcase filter may be used to make file names appear to be
in lower-case when listed. File names are case-insensitive
when being opened, etc.
log The log filter may be used to transparently log file system
access, similar to the strace(1) program.
nocase The nocase filter make be used to make file names appear to be
case-insensitive when being opened, etc.
shortname
The shortname filter may be used to simulate file systems with
shorter filenames.
smartlink
The smartlink filter make be used to expand environment
variables in symbolic links, using the usual $name notation.
titlecase
The downcase filter may be used to make file names appear to be
capitalized when listed. File names are case-insensitive when
being opened, etc.
upcase The upcase filter may be used to make file names appear to be
in upper-case when listed. File names are case-insensitive
when being opened, etc.
viewpath
The viewpath filter may be used to union all the directory
trees in a view path, so that they appear to be a single
directory tree.
Filters may be piped on into the next to form powerful combinations.
It is possible to extend PlasticFS with loadable file system filter
modules from shared object files.
The implementation of PlasticFS is strongly tied to GNU Libc, so it is
probably Linux specific.
ARCHIVE SITE
The latest version of plasticfs is available on the Web from:
URL: http://plasticfs.sourceforge.net/
File: plasticfs.html # the plasticfs page
File: plasticfs-1.14.README # Description, from the tar file
File: plasticfs-1.14.lsm # Description, LSM format
File: plasticfs-1.14.tar.gz # the complete source
File: plasticfs-1.14.pdf # Reference Manual
BUILDING PlasticFS
Full instructions for building plasticfs may be found in the BUILDING
file included in this distribution.
USING PlasticFS
See plasticfs(3) for how to make use of PlasticFS on your system.
COPYRIGHT
plasticfs version 1.14
Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2012
Peter Miller
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program. If not, see .
It should be in the LICENSE file included with this distribution.
AUTHOR
Peter Miller E-Mail: pmiller@opensource.org.au
/\/\* WWW: http://miller.emu.id.au/pmiller/
RELEASE NOTES
This section details the various features and bug fixes of the various
releases. For excruciating and complete detail, and also credits for
those of you who have generously sent me suggestions and bug reports,
see the etc/CHANGES.* files.
Version 1.14 (2012-Dec-01)
* Some spelling errors have been fixed in the manual pages.
* The Debian packaging has been greatly improved.
* A number of improvements have been made to the build system.
* The PlasticFS project now uses libexplain to report errors.
http://libexplain.sourceforge.net/
Version 1.13 (2012-May-22)
* This release is mostly minor fixes to the web site.
Release 1.12 (2010-Oct-18)
* The PlasticFS project is now a FUSE file system. It is no longer
available is an LD_PRELOAD "shared library".
* The getxattr(2), setxattr(2), listxattr(2) and removexattr(2) methods
are now all fully supported.
* There is a new read-only filter.
Release 1.11 (2007-Jul-07)
* The probems with tabs in the Makefile hve been fixed.
Release 1.10 (2007-Jul-06)
* The following SourceForge bugs have been fixed: 1120110, 1747933,
1747971, and 1748056.
* A problem with the errno symbol has been fixed.
* Build problems on machines without have been fixed
to use pthreads locks instead.
* Build problems on 64-bit machines have been fixed.
* The project has been updated to use version 3 of the GNU GPL.
* There is better use of multithreaded I/O in the open hook.
Release 1.9 (2004-Jul-06)
* A bug has been ficed in the viewpath filter's readdir function. It
now correctly deals with .whiteout and removed entries.
* The code has been updated to compile under GCC 3.4.
* A bug has been fixed in the 64-bit file locking. Not all fcntl(2)
commands were handled.
Release 1.8 (2003-Jan-16)
* Notes have been added about overcoming the glibc 2.x hidden symbols
problem. See the BUILDING file or the Reference Manual for more
information.
Release 1.7 (2003-Mar-03)
* Several GCC 3.2 build problems have been fixed.
Release 1.6 (2003-Feb-28)
* A bug has been fixed in the viewpath filter which allowed removed
(whiteout-ed) files to be opened, even when ls couldn't see them.
* A bug has been fixed in the reference counted string code, which
resulted in dereferencing uninitialized pointers, resulting in
segfaults.
Release 1.5 (2003-Feb-03)
* The bug on Debian 2.2 (and possibly other distributions) which
resulted in a segfault has been fixed.
* Intercept have been added for the truncate(2) and ftruncate(2) system
calls.
* There is a new shortname file system filter which may be used to
simulate file systems with short file names. By default it imitates
V7 unix, with 14 character filenames.
* There is anew dos file system filter, which maye be used to make a
Unix file system looks like an 8.3 DOS file system.
Release 1.4 (2003-Jan-24)
* An attempt has been made to fix a problem which sometimes caused
plasticfs::getcwd to segfault. It appears that it may have been
cause by over-zealoue optimization by the compilter, so the addition
of some strategic "volatile" keywords is an attempt to fix it.
* Several build problems have been fixed.
* A problem has been fixed which caused recent versions of GNU find to
work incorrectly.
* The problem which caused the chroot filter to constatntly print an
error message has been fixed.
* A statfs(2) intercept has been added, so the df(1) command is
happier.
* The nocase, upcase, downcase and titlecase file system filters have
been added. These filters cause filename to appear to be case-
insensitive. In addition, each of the filters except nocase converts
the characters of filenames according to their names (upper-case,
lower-case and capitalized, respectively).
Release 1.3 (2003-Jan-16)
* A bug has been fixed with the handling of ".." in pathnames.
* The chroot file system filter has been added. This may be used to
change the aparrent root of the file system.
* A bug has been fixed which caused the PLASTICFS environment to be
parsed exactly backwards.
* The viewpath copy-on-write functionality now only copies regular
files. Devices are not copied when opened for writing. Also, file
copies are unlinked if there was any problem with the copying, rather
than leave incomplete copies to confuse future operations.
Release 1.2 (2003-Jan-13)
* Code has been added so that of the effective user ID is root (0) then
PlasticFS does absolutely nothing; the program sees the real file
system, not the plastic one. This is to prevent PlasticFS being used
to subvert security.
* The viewpath copy-on-write functionality now preserves the file's
modification time ans last access time.
* An intercept has been added for the access(2) system call.
* A bug in the viewpath filter has been fixed which caused it to have
problems removing directories.
* A bug in the viewpath filter has been fixed which caused it to
incorrectly following symbolic links outside the mount point.
* An intercept has been added for the execve(2) system call, and the
execl(3), execlp(3), execle(3), execv(3) and execvp(3) functions.
* The smartlink filter has been added, which expands shell variables in
symbolic links.
* Intercepts have been added for the utime(2), lutime(2) and futime(2)
system calls.
Release 1.1 (2003-Jan-08)
First public release.
Reference Manual PlasticfS Read Me(PlasticFS)