Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Apr 1997 18:51:15 +1000 (EST)
From:      Darren Reed <darrenr@cyber.com.au>
To:        michaelh@cet.co.jp (Michael Hancock)
Cc:        kato@freefall.freebsd.org, CVS-committers@freefall.freebsd.org, cvs-all@freefall.freebsd.org, cvs-sys@freefall.freebsd.org
Subject:   Re: cvs commit:  src/sys/miscfs/union union_vnops.c
Message-ID:  <199704160851.SAA09685@plum.cyber.com.au>
In-Reply-To: <Pine.SV4.3.95.970416144928.13445B-100000@parkplace.cet.co.jp> from "Michael Hancock" at Apr 16, 97 02:56:21 pm

next in thread | previous in thread | raw e-mail | index | archive | help
In some mail I received from Michael Hancock, sie wrote
> 
> I saw that you found the real fix later.  Cool. 
> 
> Regarding the below, I think it's better to panic in this case.  Making
> things robust often works against making it work correctly.  Consistency
> checks that result in panics are there to help you find problems.  Working
> around consistency checks usually results in crufty code.

A system that is up is a good thing.

If a systems admin. can crash it by typing a mount command (for example)
incorrectly, that is bad (IMHO).  I see what you're getting at but I'd
prefer it to return a nasty error.

Darren

> Mike Hancock
> 
> On Tue, 15 Apr 1997, KATO Takenori wrote:
> 
> > kato        97/04/15 05:57:00
> > 
> >   Modified:    sys/miscfs/union  union_vnops.c
> >   Log:
> >   Quick-hack to avoid `lock against myself' panic.  It is not the real
> >   fix!
> >   
> >   The ufs_link() assumes that vnode is not unlocked and tries to lock it
> >   in certain case.  Because union_link calls VOP_LINK after locking vnode,
> >   vn_lock in ufs_link causes above panic.
> >   
> >   Currently, I don't know the real fix for a locking violation in
> >   union_link, but I think it is important to avoid panic.
> >   
> >   A vnode is unlocked before calling VOP_LINK and is locked after it if
> >   the vnode is not union fs.  Even though panic went away, the process
> >   that access the union fs in which link was made will hang-up.
> >   
> >   Hang-up can be easily reproduced by following operation:
> >   
> >   	mount -t union a b
> >   	cd b
> >   	ln foo bar
> >   	ls
> >   
> >   Revision  Changes    Path
> >   1.24      +15 -2     src/sys/miscfs/union/union_vnops.c
> > 
> 
> 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199704160851.SAA09685>