Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 02 Oct 2001 23:10:37 -0700
From:      Kirk McKusick <mckusick@mckusick.com>
To:        Ian Dowse <iedowse@maths.tcd.ie>
Cc:        Matt Dillon <dillon@earth.backplane.com>, Yevgeniy Aleynikov <eugenea@infospace.com>, peter@FreeBSD.ORG, ache@FreeBSD.ORG, Ken Pizzini <kenp@infospace.com>, hackers@FreeBSD.ORG
Subject:   Re: bleh. Re: ufs_rename panic 
Message-ID:  <200110030610.f936AbR11859@beastie.mckusick.com>
In-Reply-To: Your message of "Tue, 02 Oct 2001 21:52:48 BST." <200110022152.aa36964@salmon.maths.tcd.ie> 

next in thread | previous in thread | raw e-mail | index | archive | help
The problems all arise from the fact that we unlock the source
while we look up the destination, and when we return to relookup
the source, it may have changed/moved/disappeared. The reason to
unlock the source before looking up the destination was to avoid
deadlocking against ourselves on a lock that we held associated 
with the source. Since we now allow recursive locks on vnodes, it
is no longer necessary to release the source before looking up
the destination. So, it seems to me that the correct fix is to
*not* release the source after looking it up, but rather hold it
locked while we look up the destination. We can completely get
rid of relookup and lots of other hairy code and generally make
rename much simpler. Am I missing something here?

	~Kirk

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




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