Subject: Re: File system suspension -- new API
To: Pavel Cahyna <pavel@netbsd.org>
From: Juergen Hannken-Illjes <hannken@eis.cs.tu-bs.de>
List: tech-kern
Date: 12/31/2006 12:13:21
On Sun, Dec 31, 2006 at 12:04:38PM +0100, Pavel Cahyna wrote:
> On Sun, Dec 31, 2006 at 11:46:27AM +0100, Juergen Hannken-Illjes wrote:
> > On Sun, Dec 31, 2006 at 10:34:03AM +0000, Pavel Cahyna wrote:
> > > Why should it ignore lock while suspending instead of taking them
> > > normally?
> > 
> > As we cannot add fstrans_start() to xxx_lock() not ignoring locks will
> > quickly deadlock.
> 
> Why can't you add fstrans_start(..., fstrans_shared) to ufs_lock before
> the call to lockmgr()?

- ufs_lock() is called with vp->v_interlock held.  As fstrans_start() is
  allowed to sleep it cannot be called here.

- There are plans to completely remove VOP_LOCK() and therefore new
  subsystems should not rely on it.

-- 
Juergen Hannken-Illjes - hannken@eis.cs.tu-bs.de - TU Braunschweig (Germany)