Re: ZFS committed to the FreeBSD base.

From: Max Laier <max_at_love2party.net>
Date: Sun, 8 Apr 2007 20:43:13 +0200
On Sunday 08 April 2007 20:20, Dag-Erling Smørgrav wrote:
> Max Laier <max_at_love2party.net> writes:
> > The attached diff lets me survive the dump/restore.  Not sure if
> > this is the right fix, but seems like the union messes with mutex
> > initialization.
>
> You need to track down where memory for the mutex (or rather zap) was
> actually allocated, and stick the memset there.  I suspect it
> originates on the stack somewhere.

Well, I assume it is zeroed already, but on the way the other union 
members are used which messes up the storage for the mutex.  At least 
looking at the contents gives me that impression:

> $2 = {zap_objset = 0xffffff0001406410, zap_object = 12660, zap_dbuf =
> 0xffffff005ce892d0, zap_rwlock = {lock_object = { lo_name =
> 0xffffffff8081b416 "zfs:&zap->zap_rwlock", lo_type = 0xffffffff8081b416
> "zfs:&zap->zap_rwlock", lo_flags = 41615360, lo_witness_data = {
> lod_list = {stqe_next = 0x0}, lod_witness = 0x0}}, sx_lock =
> 18446742974215086080, sx_recurse = 0}, zap_ismicro = 0, zap_salt =
> 965910969, zap_u = {zap_fat = {zap_phys = 0xffffffff81670000,
> 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}, zap_block_shift = 0}, zap_micro =
> {zap_phys = 0xffffffff81670000, zap_num_entries = 0, zap_num_chunks =
> 7, zap_alloc_next = 0, zap_avl = { avl_root = 0x0, avl_compar =
> 0xffffffff807f3f80 <mze_compare>, avl_offset = 0, avl_numnodes = 1,
> avl_size = 0}}}}

-- 
/"\  Best regards,                      | mlaier_at_freebsd.org
\ /  Max Laier                          | ICQ #67774661
 X   http://pf4freebsd.love2party.net/  | mlaier_at_EFnet
/ \  ASCII Ribbon Campaign              | Against HTML Mail and News

Received on Sun Apr 08 2007 - 16:43:11 UTC

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