[lkml]   [1999]   [Jun]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: FS Unions

    On Tue, 15 Jun 1999, Jan-Simon Pendry wrote:

    > Alexander Viro wrote:
    > >
    > > [ good explanation of create/delete process ... ]
    > >
    > > > To create a fully-realized implementation, would there have
    > > > to be modifications to commands or facilities to take into account
    > > > or exploit the fs unions? If so, this might be a way for some others
    > >
    > > mount(8), umount(8) and fsck(8). Mount should be taught to deal
    > > with the new flag, fsck should be taught to that whiteouts are valid
    > > entries. Other than that... Some utility to find and remove whiteouts.
    > just to summarise, the top level filesystem requires the following
    > (additional) functionality:
    ... if it's not an r/o mount - so overlapping several ISOFS volumes is OK.

    > 1. persistent representation of a whiteout node.

    can be dealt with on ext2, ufs, minix, sysvfs and <hysterical
    laughter here> FAT-derived filesystems (ATTR_VOL | <something other than
    the mark used by VFAT> in attributes). Can be also done on hpfs and ntfs
    (AFAICS - empty file with appropriate EAs).

    > 2. persistently mark a directory non-transparent.

    ext2, ufs. Probably FAT-derived sh*t too. Not sure whether we can
    do it on s5fs and its relatives (including minix).

    > 3. return list of whiteouts in a directory.
    > 4. create a named whiteout.
    > 5. remove a named whiteout.
    Preferably 'atomically replace the whiteout with link' too.

    > all apart from #1 must also be accessible via system call
    > interfaces.

    ... which may be rather different from 4.4BSD ones - you don't
    have dcache over there, so the set of problems differs. OTOH we might mark
    dentry as whiteout.

    > underlying filesystems require no modifications.
    > user-level changes are:
    > 1. change opendir et al. to deal with whiteouts.
    > 2. change file-tree walker to deal with whiteouts.
    > 3. add options to rm, ls and find to handle whiteouts.
    > 4. teach fsck about specific storage implementation of whiteouts.
    > 5. provide backup/recovery hooks.
    > note that the bsd implementation provides backup/recovery
    > using dump/restore. dump/restore correctly handle whiteout
    > nodes. tar, pax etc. have no knowledge of whiteouts.
    > jan-simon.

    Just to clarify:

    al@bird:~$ head /usr/src/FreeBSD-3.0R/sys/miscfs/union/union_vnops.c
    * Copyright (c) 1992, 1993, 1994, 1995 Jan-Simon Pendry.
    * Copyright (c) 1992, 1993, 1994, 1995
    * The Regents of the University of California. All rights reserved.
    * This code is derived from software contributed to Berkeley by
    * Jan-Simon Pendry.
    * Redistribution and use in source and binary forms, with or without
    * modification, are permitted provided that the following conditions


    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:52    [W:0.022 / U:7.232 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site