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)