ZFS committed to the FreeBSD base.

Pawel Jakub Dawidek pjd at FreeBSD.org
Mon Apr 9 01:07:19 UTC 2007


On Sun, Apr 08, 2007 at 08:53:12PM +0200, Pawel Jakub Dawidek wrote:
> fzap_upgrade() changes type from 'zap_micro' to 'zap_fat' and union is
> used for this (see
> sys/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h), that's why we
> see this trash:
> 
> zap_num_entries_mtx = {lock_object = {lo_name = 0x70000 <Address 0x70000 out of bounds>,
> lo_type = 0x0, lo_flags = 2155822976, lo_witness_data = {lod_list = {stqe_next = 0x0},
> lod_witness = 0x0}}, sx_lock = 1, sx_recurse = 0},
> 
> I already use kmem_zalloc() (note _z_) for zap allocation in
> zap_micro.c, so Max is right, that we have to clear this structure here.
> 
> I'm quite tired of tracking such problems, because our mechanism for
> detecting already initialized locks is too simple (based on one bit), so
> I'd prefer to improve it, or just add bzero() to mutex_init().

I just committed a fix. Now I do 13 bits check for already initialized
locks detection instead of standard 1 bit check. Could you repeat your
test?

-- 
Pawel Jakub Dawidek                       http://www.wheel.pl
pjd at FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20070409/3f521c3d/attachment.pgp


More information about the freebsd-fs mailing list