Re: panic: mutex Giant owned at .../base/head/sys/kern/kern_exit.c:131

From: Attilio Rao <attilio_at_freebsd.org>
Date: Fri, 31 Jul 2009 16:11:25 +0200
2009/7/31 John Baldwin <jhb_at_freebsd.org>:
> On Friday 31 July 2009 2:36:46 am Marcel Moolenaar wrote:
>> All,
>>
>> I got the following panic after I had to import my ZFS file system on
>> ia64.
>> The following panic happened when executing "zpool import":
>>
>> panic: mutex Giant owned at /nfs/freebsd/base/head/sys/kern/
>> kern_exit.c:131
>> cpuid = 0
>> KDB: enter: panic
>
> It looks like ZFS doesn't actually ever check if any of the namei lookups it
> does internally return with Giant locked.  For example, it doesn't check
> NDHASGIANT() in lookupnameat().  Fixing this may be a bit of work as I'm not
> sure it is safe to drop Giant right after the namei().  If it is because the
> end vnode's returned are always MPSAFE then that fix is easy.  If not, then
> Giant needs to be held until the code stops frobbing the vnode returned from
> the lookup.

NDHASGIANT() reflects the locking of the mountpoint where the vnode is
on so you need to size it in regard of what the namei() consumer is
going to expect in terms of locking with such vnode/mountpoint.

Thanks,
Attilio


-- 
Peace can only be achieved by understanding - A. Einstein
Received on Fri Jul 31 2009 - 12:11:48 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:53 UTC