IFS version 4 released

IFS version 4 released

Post by almes.. » Mon, 26 Jul 1993 04:09:56



I've uploaded a new version of the kernel-based Inheriting File System
(IFS) to tsx-11.mit.edu, where it will probably appear in
/pub/linux/ALPHA/ifs and to sunsite.unc.edu:/pub/Linux/Incoming
The file is named ifs.4.tar.gz

This version is functionally identical to version 3 released in May,
but has been updated to be compatible with the 0.99pl11 kernel.

IFS allows one to mount a "pack" of file systems, where "upper" file
systems inherit files from the "lower" layers. Changes are performed
only on the top level file system. IFS is similar to Sun's TFS.

IFS is still experimental. It can be added to 0.99pl11 and possibly
also to 0.99pl10 kernels.

I've attached the first section of the README.

- Werner

----------------------------------- README ------------------------------------

Kernel-based Inheriting File System (IFS), experimental release 4
=================================================================

* WARNING * WARNING * WARNING * WARNING * WARNING * WARNING * WARNING * WARNIN

        THIS CODE IS EXPERIMENTAL AND HAS KNOWN BUGS. USE AT YOUR OWN
        RISK. BE PREPARED TO EXPERIENCE FILE SYSTEM CORRUPTION AND TO
        RESTORE YOUR SYSTEM FROM BACKUP MEDIA IF USING THIS CODE.

G * * WARNING * WARNING * WARNING * WARNING * WARNING * WARNING * WARNING * WA

Concept
-------

The Inheriting File System (IFS) provides a means to mount a "pack" of layered
directories where upper layers "inherit" files from lower layers. Upper layers
can also "override" files present in lower layers and the top layer can even
hide ("whiteout") files of lower layers. If write operations are performed on
such a pack, they are always carried out on the top layer. Directory paths and
files are duplicated ("cloned") from lower layers if necessary. This concept
is vaguely based on Sun's translucent file service (TFS).

IFS can be used for the following applications (among others):
  - make read-only media (e.g. CD-ROMs) pseudo-writable
  - make local writable copies of a common precious source (e.g. a common
    source tree used by several programmers)
  - "map" several directories to a single directory (e.g. /usr/bin)
  - perform loopback mounts

I'd like to point out that most of this can also be done in a similar way
using symbolic links.

Whiteout entries are empty regular files in a directory ... at the top layer.
Whiteout entries on lower layers of a pack are ignored. An empty directory in
a ... directory indicates that the corresponding directory should not inherit
files from lower layers.

The current implementation assumes that sparse trees are mounted on top of a
tree that contains most of the files. For extremely opposite cases, a
depth-first search would be faster.
--
   _________________________________________________________________________

 /_IFW_A44________________________________________________________________/

--