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

From: Martin Matuska <mm_at_FreeBSD.org>
Date: Fri, 08 Sep 2023 22:30:41 UTC
Hi Alexander,

I can confirm that the patch fixes the panic caused by the provided 
script on my test systems.
Mark, would it be possible to try poudriere on your system with a 
patched kernel?

Thanks
mm

On 9. 9. 2023 0:09, Alexander Motin wrote:
> 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?
>