NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/57691: NFS client regression with macOS 14 server



The following reply was made to PR kern/57691; it has been noted by GNATS.

From: Jason Thorpe <thorpej%me.com@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: kern-bug-people%netbsd.org@localhost,
 gnats-admin%netbsd.org@localhost,
 netbsd-bugs%netbsd.org@localhost,
 "schmonz%netbsd.org@localhost" <schmonz%NetBSD.org@localhost>
Subject: Re: kern/57691: NFS client regression with macOS 14 server
Date: Sat, 9 Dec 2023 08:37:37 -0800

 > On Dec 8, 2023, at 7:30=E2=80=AFPM, Amitai Schleier =
 <schmonz%schmonz.com@localhost> wrote:
 >=20
 > Thank you for looking into this and giving me something to try. =
 Neither=20
 > of the following diffs seems to make a difference, though (tested on =
 my=20
 > 10.0_RC1/aarch64 NFS client). Have I misunderstood something?
 >=20
 >=20
 > Index: nfs/nfs_vnops.c
 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
 > RCS file: /cvsroot/src/sys/nfs/nfs_vnops.c,v
 > retrieving revision 1.324
 > diff -u -p -r1.324 nfs_vnops.c
 > --- nfs/nfs_vnops.c 24 May 2022 06:28:02 -0000 1.324
 > +++ nfs/nfs_vnops.c 9 Dec 2023 03:23:02 -0000
 > @@ -2632,8 +2632,13 @@ nfs_readdirplusrpc(struct vnode *vp, str
 >    txdr_cookie3(uiop->uio_offset, tl);
 >    }
 >    tl +=3D 2;
 > - *tl++ =3D dnp->n_cookieverf.nfsuquad[0];
 > - *tl++ =3D dnp->n_cookieverf.nfsuquad[1];
 > + if (uiop->uio_offset =3D=3D 0) {
 > + *tl++ =3D 0;
 > + *tl++ =3D 0;
 > + } else {
 > + *tl++ =3D dnp->n_cookieverf.nfsuquad[0];
 > + *tl++ =3D dnp->n_cookieverf.nfsuquad[1];
 > + }
 >    *tl++ =3D txdr_unsigned(nmp->nm_readdirsize);
 >    *tl =3D txdr_unsigned(nmp->nm_rsize);
 >    nfsm_request(dnp, NFSPROC_READDIRPLUS, curlwp, cred);
 
 Ok, this is the correct variation of the change, but you missed a =
 spot=E2=80=A6 there=E2=80=99s also a similar bit of code for the READDIR =
 RPC.  Add the same snippet there and try again (just look for =
 =E2=80=9Ccookieverf=E2=80=9D).
 
 -- thorpej
 


Home | Main Index | Thread Index | Old Index