Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Sep 2023 18:09:20 -0400
From:      Alexander Motin <mav@FreeBSD.org>
To:        Martin Matuska <mm@FreeBSD.org>, Mark Millard <marklmi@yahoo.com>, Glen Barber <gjb@FreeBSD.org>
Cc:        Current FreeBSD <freebsd-current@freebsd.org>, FreeBSD-STABLE Mailing List <freebsd-stable@freebsd.org>, Pawel Jakub Dawidek <pjd@freebsd.org>
Subject:   Re: main [and, likely, stable/14]: do not set vfs.zfs.bclone_enabled=1 with that zpool feature enabled because it still leads to panics
Message-ID:  <2a25427c-5a61-3f72-4e31-b7666741d38d@FreeBSD.org>
In-Reply-To: <15df58d3-4603-132f-112e-d10a6d4419bf@FreeBSD.org>
References:  <7CE2CAAF-8BB0-4422-B194-4A6B0A4BC12C@yahoo.com> <08B7E72B-78F1-4ACA-B09D-E8C34BCE2335@yahoo.com> <20230907184823.GC4090@FreeBSD.org> <F4ED7034-6776-402C-8706-DED08F41455E@yahoo.com> <4f4e2b68-57e0-a475-e2bd-1f2b8844ebfe@FreeBSD.org> <354C5B8C-4216-4171-B8C2-8E827817F8E5@yahoo.com> <8B8B3707-4B37-4621-8124-D6A77CAF6879@yahoo.com> <15df58d3-4603-132f-112e-d10a6d4419bf@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 08.09.2023 09:52, Martin Matuska wrote:
> I digged a little and was able to reproduce the panic without poudriere 
> with a shell script.
> 
> #!/bin/sh
> nl='
> '
> sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
> for ac_i in 1 2 3 4 5 6 7; do
>      sed_script="$sed_script$nl$sed_script"
> done
> echo "$sed_script" 2>/dev/null | sed 99q >conftest.sed
> 
> repeats=8
> count=0
> echo -n 0123456789 >"conftest.in"
> while :
> do
>      cat "conftest.in" "conftest.in" >"conftest.tmp"
>      mv "conftest.tmp" "conftest.in"
>      cp "conftest.in" "conftest.nl"
>      echo '' >> "conftest.nl"
>      sed -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || 
> break
>      diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
>      count=$(($count + 1))
>      echo "count: $count"
>      # 10*(2^10) chars as input seems more than enough
>      test $count -gt $repeats && break
> done
> rm -f conftest.in conftest.tmp conftest.nl conftest.out

Thank you, Martin.  I was able to reproduce the issue with your script 
and found the cause.

I first though the issue is triggered by the `cp`, but it appeared to be 
triggered by `cat`.  It also got copy_file_range() support, but later 
than `cp`.  That is probably why it slipped through testing.  This patch 
fixes it for me: https://github.com/openzfs/zfs/pull/15251 .

Mark, could you please try the patch?

-- 
Alexander Motin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2a25427c-5a61-3f72-4e31-b7666741d38d>