Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!munnari.OZ.AU!news.ecn.uoknor.edu!news.wildstar.net!news.ececs.uc.edu!newsfeeds.sol.net!news.maxwell.syr.edu!news.bbnplanet.com!cpk-news-hub1.bbnplanet.com!news.sprintlink.net!news-peer.sprintlink.net!EU.net!Austria.EU.net!siemens.at!pc2213.gud.siemens.co.at!not-for-mail
From: salb@pc2213.gud.siemens.co.at (Bernd Salbrechter)
Newsgroups: comp.unix.bsd.netbsd.misc
Subject: Possible Problem in the Filesystem.
Date: 3 Feb 1997 10:40:40 GMT
Organization: Siemens AG Austria
Lines: 60
Message-ID: <5d4fb8$1j4@zwei.siemens.at>
NNTP-Posting-Host: firix.siemens.at
X-Newsreader: TIN [UNIX 1.3 950520BETA PL0]
Xref: euryale.cc.adfa.oz.au comp.unix.bsd.netbsd.misc:5291
If I stack two "union_mounts" on one filesystem the system hangs, if I try
to access contents of the "union_mount"-point.
Here are the details, which I think they are interesting:
1.) I have upgrade my i486 box from NetBSD-1.1 to NetBSD-1.2 and build a
customized kernel, with the union filesystem included. (Btw.
congratulations I have never done a upgrade, which works so perfectly
than that. I did one pass to merge you new GENERIC* with my old CUSTOM
configuartionfile, compile and install it and reboot -- work :-).
2.) The not working sequence:
$ mount -t ffs /dev/wd1e /test
$ cd /test
$ mkdir extract port compile distfiles pkg extract/NetBSD-1.2
$ (cd extract/NetBSD-1.2; extract_all_NetBSD_sources)
$ mount -t union -o -b /test/extract /test/port
$ mount -t union -o -b /test/port /test/compile
$ ls -F /test/compile
--> System hangs.
3.) A working sequence:
$ mount -t ffs /dev/wd1e /test1
$ mount -t ffs /dev/wd1f /test2
$ mount -t ffs /dev/wd1g /test3
$ mkdir /test1/extract /test2/port /test3/compile
$ mkdir /test1/extract/NetBSD-1.2
$ mount -t union -o -b /test1/extract /test2/port
$ mount -t union -o -b /test2/port /test3/compile
$ ls -F /test1/extract
> NetBSD-1.2/
$ ls -F /test2/port
> NetBSD-1.2/
$ ls -F /test3/compile
> NetBSD-1.2/
4.) A other not working situation continue last sequence (3.):
$ umount /test3/compile
$ ls -F /test1/compile
> NetBSD-1.2/
--> System hangs.
I didn't have done extensive test of hanging situations, to avoid
damages on my filesystems. But if you really need some tests I will
do it on a spare disk.
If you are interest, why I want that kind of mounts - a kind of a
configuration management system! If I port a package to NetBSD I
create a directory in "/test2/port/..." and extract the package
to "/test1/extract/..." (this will need some work in "port.mk") and
try to compile it in "/test3/compile/...". All changes I have to make
will be done in "/test2/port/... ". This will result in a clean
sourcetree and a ported sourcetree to get the context-diff for "patch".
The next steps I am thinking of are to use symbolic links in
"test2/port/..." to an RCS-tree and stack the "test2/port/..." in an
intreagtion and several architecture and or person specific directories.
Using RSC to push up the changes to the integrationlevel.
--Bernd