Re: Panic String: solaris assert: (lsize != psize) implies ((flags & ZIO_FLAG_RAW) != 0), file: /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c, line: 631

From: Andriy Gapon <avg_at_FreeBSD.org>
Date: Sat, 29 Apr 2017 00:42:45 +0300
On 28/04/2017 14:56, Michael Jung wrote:
> I have mad the requested change..
> 
> [root_at_bsd11 /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs]# diff zio.c
> ~mikej/zio.c.orig
> 965c965
> <         size, NULL, NULL, ZIO_TYPE_FREE, ZIO_PRIORITY_NOW,
> ---
>>         BP_GET_PSIZE(bp), NULL, NULL, ZIO_TYPE_FREE, ZIO_PRIORITY_NOW,

Yes, that's the change that I had in mind.
I was a little bit confused by the order of the original and modified files,
though :-)

> [root_at_bsd11 /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs]#
> 
> As to the pool size:
> 
> [root_at_bsd11 /usr/home/mikej]# zpool list
> NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
> tank   199G   143G  55.9G         -    85%    71%  1.00x  ONLINE  -
> [root_at_bsd11 /usr/home/mikej]#
> 
> I should have also mentioned that besides poudriere running a build, it was
> removing old logs - There was some 43G of old logs files that were in the process
> of being removed.

So, given that the panic was in the freeing path, you were probably low on the
pool space back when those log files were created.  I mean that the gang blocks
are typically created when a pool is very fragmented.

> I will hammer the box with and report back first of the week whether the panic
> re-occurs or not.

Please also try removing those old files again too.
Running zpool scrub afterwards could be a good idea too.

Thank you again!

-- 
Andriy Gapon
Received on Fri Apr 28 2017 - 19:43:39 UTC

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