panic: mutex Giant owned at
.../base/head/sys/kern/kern_exit.c:131
Attilio Rao
attilio at freebsd.org
Fri Jul 31 14:11:48 UTC 2009
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
More information about the freebsd-current
mailing list