Re: git: 269c564b90d3 - main - vfs: retire NDFREE

From: Mateusz Guzik <mjguzik_at_gmail.com>
Date: Thu, 22 Dec 2022 12:57:59 UTC
On 12/22/22, Renato Botelho <garga@freebsd.org> wrote:
> On 22/12/22 09:29, Mateusz Guzik wrote:
>> diff -ru
>> open-vm-tools-stable-12.0.0/open-vm-tools/modules/freebsd/vmblock/vfsops.c
>> open-vm-tools-stable-12.0.0.patched/open-vm-tools/modules/freebsd/vmblock/vfsops.c
>> ---
>> open-vm-tools-stable-12.0.0/open-vm-tools/modules/freebsd/vmblock/vfsops.c
>>   2022-03-04 21:01:24.000000000 +0000
>> +++
>> open-vm-tools-stable-12.0.0.patched/open-vm-tools/modules/freebsd/vmblock/vfsops.c
>>   2022-12-22 12:27:51.897759000 +0000
>> @@ -174,11 +174,14 @@
>>      NDINIT(ndp, LOOKUP, FOLLOW|LOCKLEAF, UIO_SYSSPACE, target,
>> compat_td);
>>      error = namei(ndp);
>>      if (error) {
>> -      NDFREE(ndp, 0);
>>         uma_zfree(VMBlockPathnameZone, pathname);
>>         return error;
>>      }
>> +#if __FreeBSD_version < 1400075
>>      NDFREE(ndp, NDF_ONLY_PNBUF);
>> +#else
>> +   NDFREE_PNBUF(ndp);
>> +#endif
>
> This patch fails on OSVERSION 1400074 with the same error that happened
> in the past when NDF_ONLY_PNBUF was retired
>
> --- vfsops.o ---
> vfsops.c:185:16: error: use of undeclared identifier 'NDF_ONLY_PNBUF'
>     NDFREE(ndp, NDF_ONLY_PNBUF);
>
> I'll keep it checking if NDF_ONLY_PNBUF is defined to decide to call
> NDFREE or NDFREE_PNBUF

Well I did skimp on a version bump over there, but as this is
*current*, people running the older version should just update and
they will be fine.

I think this will happen to work if you just check against 1400074
though, the necessary bits were already there for some time.

-- 
Mateusz Guzik <mjguzik gmail.com>