Re: ZFS committed to the FreeBSD base.

From: Pawel Jakub Dawidek <pjd_at_FreeBSD.org>
Date: Mon, 9 Apr 2007 03:07:03 +0200
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!

Received on Sun Apr 08 2007 - 23:07:19 UTC

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