]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC: r363210
authorRick Macklem <rmacklem@FreeBSD.org>
Tue, 11 Aug 2020 05:10:01 +0000 (05:10 +0000)
committerRick Macklem <rmacklem@FreeBSD.org>
Tue, 11 Aug 2020 05:10:01 +0000 (05:10 +0000)
commit4c20201ddf484677d21b24bc0409b9ac71f39eeb
tree8dfbb5c53dccd99109d28facb1960e2948f21447
parent0611f3541ea76c9498330a78f6abd7cca4795321
MFC: r363210
Fix the pNFS flexible file layout client for servers with small write size.

The code in nfscl_dofflayout() loops when a flexible file layout server
provides a small write data limit (no extant server is known to do this).
If/when it looped, it erroneously reused the "drpc" argument for the
mirror worker thread, corrupting it.
This patch fixes the problem by only using the calling thread after the
first loop iteration.

Found during testing by simulating a server with a small write size.

Since no extant pNFS server is known to provide a small write size,
this fix it not needed in practice at this time.
sys/fs/nfsclient/nfs_clrpcops.c