Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 07 May 2009 22:06:21 -0500
From:      Richard Todd <rmtodd@ichotolot.servalan.com>
To:        freebsd-current@freebsd.org, Martin <nakal@web.de>
Subject:   Re: ZFS panic space_map.c line 110
Message-ID:  <x7my9oz42a.fsf@ichotolot.servalan.com>
In-Reply-To: <servalan.mailinglist.fbsd-current/20090507210516.06331fb2@zelda.local> (Martin's message of "Thu, 7 May 2009 21:05:16 %2B0200")
References:  <20090507210516.06331fb2@zelda.local>

next in thread | previous in thread | raw e-mail | index | archive | help
Martin <nakal@web.de> writes:
> Hi,
>
> I have a file server running ZFS on -CURRENT. Someone has tried to
> transfer a file with several gigabytes onto the system. The kernel
> crashed with a panic and freezed up during spewing the panic. I've only
> written down the most important messages:
>
> solaris assert ss==NULL
> zfs/space_map.c line 110
>
> process: 160 spa_zio
>
> I've heard that I can try to move the zpool cache away and import the
> zpool with force once again. Will this help? 

I kinda doubt it. 

> zpool with force once again. Will this help? I am asking because I
> don't know if the panic is caused by a corrupt cache or corrupt
> file system metadata. Maybe someone can explain it. (I had to switch the

This panic wouldn't have anything to do with zpool.cache (that's just a file
to help the system find which devices it should expect to find zpools on 
during boot).   This is a problem with the free space map, which is part
of the filesystem metadata.  If you're lucky, it's just the in-core copy
of the free space map that was bogus and there's a valid map on disk.  If 
you're unlucky, the map on disk is trashed, and there's no really easy way
to recover that pool. 

> Is this issue with inconsistent zpools well known? I've seen some posts
> from 2007 and January 2009 that reported similar problems. Apparently
> some people have lost their entire zpools multiple times already, as
> far as I understood it.

Mine was probably one of those messages; I managed to get an error like that
once, through Seriously Provoking the system (repeatedly unmounting and 
mounting the main filesystem on one pool) while attempting to debug a 
different, unrelated problem.  It's not something I've ever seen
in any sort of "normal" usage, and just copying a few gig to the FS shouldn't
cause this sort of problem.  I managed to recover the data without having to
resort to backups, by hacking the kernel to disable some of the asserts 
in space_map.c, iterating until I reached a point where I got a kernel that
could import the pool without panicing.  Once I did that I managed to mount
the fs readonly and copy everything off to a different device.    Like I said,
not an *easy* way to recover that data.  

> One more piece of information I can give is that every hour the ZFS file
> systems create snapshots. Maybe it triggered some inconsistency between
> the writes to a file system and the snapshot, I cannot tell, because I
> don't understand the condition.

I doubt this had anything to do with the problem.  




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?x7my9oz42a.fsf>