HomeFreeBSD

Assorted fixes to handling of LayoutRecall callbacks, mostly error handling.

Description

Assorted fixes to handling of LayoutRecall callbacks, mostly error handling.

After a re-read of the appropriate section of RFC5661, I decided that a
few things should be changed related to LayoutRecall callback handling.
Here are the things fixed by this patch.

  • For two of the three cases that LayoutRecall is done, I now think setting the clora_changed argument false is correct.
  • All errors other than NFSERR_DELAY returned by LayoutRecall appear permanent, so don't retry for any of them. (NFSERR_DELAY is retried by newnfs_request(), so it is not affected by this patch.)
  • Instead of waiting "forever" (actually until the process is SIGTERM'd) for Layouts to be returned during a mirror copy, fail and return ENXIO after about 1minute. Waiting for a <ctrl>C made sense when pnfsdscopymr() was done by itself, but did not make sense when done via find(1).

This patch only affects the pNFS server.

Details

Provenance
rmacklemAuthored on
Parents
rS337500: Use the right variable when updating interface routes.
Branches
Unknown
Tags
Unknown