Re: 8ee579abe09e - main - zfs: fall back if block_cloning feature is disabled

From: Cy Schubert <Cy.Schubert_at_cschubert.com>
Date: Tue, 04 Apr 2023 19:30:54 UTC
On Tue, 4 Apr 2023 17:54:28 +0000
"Pokala, Ravi" <rpokala@panasas.com> wrote:

> Cy,
> 
> The patch adds 'bool done_outvp', unconditionally sets it to 'true', and then later has a check for 'if (!done_outvp)'. Since there is no intervening place where 'done_outvp' could be set to 'false', that check will never succeed and that branch is unreachable.

It's set to false at line 6454, in the loop locking vnodes.

> 
> Or am I mis-reading something?

Maybe Rick can explain but all we're doing is ensuring that the first
part of the loop is executed only first time through. We could invert it
and save setting it to false every loop.

> 
> Thanks,
> 
> Ravi (rpokala@)
> 

-- 
Cheers,
Cy Schubert <Cy.Schubert@cschubert.com>
FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  https://FreeBSD.org
NTP:           <cy@nwtime.org>    Web:  https://nwtime.org

			e^(i*pi)+1=0


> -----Original Message-----
> From: <owner-src-committers@freebsd.org <mailto:owner-src-committers@freebsd.org>> on behalf of Cy Schubert <Cy.Schubert@cschubert.com <mailto:Cy.Schubert@cschubert.com>>
> Organization: KOMQUATS
> Date: Tuesday, April 4, 2023 at 09:18
> To: Martin Matuska <mm@FreeBSD.org <mailto:mm@FreeBSD.org>>
> Cc: Rick Macklem <rick.macklem@gmail.com <mailto:rick.macklem@gmail.com>>, Mateusz Guzik <mjguzik@gmail.com <mailto:mjguzik@gmail.com>>, <src-committers@freebsd.org <mailto:src-committers@freebsd.org>>, <dev-commits-src-all@freebsd.org <mailto:dev-commits-src-all@freebsd.org>>, <dev-commits-src-main@freebsd.org <mailto:dev-commits-src-main@freebsd.org>>
> Subject: Re: git: 8ee579abe09e - main - zfs: fall back if block_cloning feature is disabled
> 
> 
> On Tue, 4 Apr 2023 17:30:25 +0200
> Martin Matuska <mm@FreeBSD.org <mailto:mm@FreeBSD.org>> wrote:
> 
> 
> > So I am now a little bit confused - what is the consensus? :-)  
> 
> 
> My exmh email client made a mess of that. Let's try this again.
> 
> 
> Rick has posted a patch. Your patch should also be incorporated to work 
> around other EXDEV errors, but a few lines earlier so it is protected by 
> the lock.
> 
> 
> There were a couple of typos in Rick's patch (a missing keystroke; 
> s/ojset/objset/).
> 
> 
> The patch (Rick's null pointer dereference fix, Rick's copy file range 
> patch plus your copy file range patch) builds fine on amd64 and i386. 
> Installing and testing it now.
> 
> 
> A combination of all three patches is attached. It's compile tested but is 
> currently being installed and will be tested when install is completed.
> 
>