On Tue, Apr 4, 2023 at 12:31 PM Cy Schubert <[email protected]> wrote: > > CAUTION: This email originated from outside of the University of Guelph. Do > not click links or open attachments unless you recognize the sender and know > the content is safe. If in doubt, forward suspicious emails to > [email protected] > > > On Tue, 4 Apr 2023 17:54:28 +0000 > "Pokala, Ravi" <[email protected]> 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. Yep. All I did was copy the first lines in the loop up to before the loop so that it would be done once to lock outvp before the check on it. The bool just avoids doing those lines for the first loop iteration.
And, yes, you could reorganize the loop to avoid using the bool to skip the lines on the first iteration, but I think the code would be more confusing with the loop reorganized. However, if someone wants to re-write it, I have no problem with that. rick > > > > > Thanks, > > > > Ravi (rpokala@) > > > > -- > Cheers, > Cy Schubert <[email protected]> > FreeBSD UNIX: <[email protected]> Web: https://FreeBSD.org > NTP: <[email protected]> Web: https://nwtime.org > > e^(i*pi)+1=0 > > > > -----Original Message----- > > From: <[email protected] > > <mailto:[email protected]>> on behalf of Cy Schubert > > <[email protected] <mailto:[email protected]>> > > Organization: KOMQUATS > > Date: Tuesday, April 4, 2023 at 09:18 > > To: Martin Matuska <[email protected] <mailto:[email protected]>> > > Cc: Rick Macklem <[email protected] <mailto:[email protected]>>, > > Mateusz Guzik <[email protected] <mailto:[email protected]>>, > > <[email protected] <mailto:[email protected]>>, > > <[email protected] <mailto:[email protected]>>, > > <[email protected] <mailto:[email protected]>> > > 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 <[email protected] <mailto:[email protected]>> 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. > > > >
