Messages in this thread |  | | | Date | Tue, 15 Jun 1999 02:13:55 -0400 (EDT) | | From | Alexander Viro <> | | Subject | Re: 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 al#bird:~$ ;-)
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
|  |