*BSD News Article 88481


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!feed1.news.erols.com!news.bbnplanet.com!cpk-news-hub1.bbnplanet.com!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: Re: Possible Problem in the Filesystem.
Date: 7 Feb 1997 08:35:48 GMT
Organization: Siemens AG Austria
Lines: 61
Message-ID: <5deph4$124@zwei.siemens.at>
References: <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:5314

Bernd Salbrechter (salb@pc2213.gud.siemens.co.at) wrote:
: 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