Send a patch.

Adam Megacz wrote:
> I noticed that the following useful piece of code at
> src/rx/rx_packet.c:2431 (CVS HEAD).  I could be mistaken, but it
> appears that the body of the if-block is unreachable on
> non-AFS_NT40_ENV platforms:
> 
>             /* Some systems are nice and tell us right away that we cannot
>              * reach this recipient by returning an error code.
>              * So, when this happens let's "down" the host NOW so
>              * we don't sit around waiting for this host to timeout later.
>              */
>             if (call &&
> #ifdef AFS_NT40_ENV
>                 code == -1 && WSAGetLastError() == WSAEHOSTUNREACH
> #elif defined(AFS_LINUX20_ENV) && defined(KERNEL)
>                 code == -ENETUNREACH
> #elif defined(AFS_DARWIN_ENV) && defined(KERNEL)
>                 code == EHOSTUNREACH
> #else
>                 0
> #endif
>                 )
> 
> The variable "code" is the return value from osi_NetSend() on line
> 2421, a function which simply relays the return value of
> rxi_Sendmsg().  Both the lwp and pthread implementations of
> rxi_Sendmsg() appear to return only 0 or -1, never an error code.
> 
> If this is not the intended situation, I'm interested in investing a
> bit of time in writing up a patch to change it and expand it to
> include the !defined(KERNEL) case (for Linux, at minimum).  I would
> welcome any advice on how the patch should be written.
> 
> In particular, libnss_afs needs some sort of "fast fail" behavior like
> this during client shutdown, in case some process attempts an NSS
> request after the network interfaces have been taken down.  Even with
> rx_SetRxDeadTime(/*small-value*/), the ubik/rx libraries will still
> make several attempts to contact each ptserver rather than immediately
> taking advantage of ENETUNREACH.  It seems like the code to do this is
> there, it just isn't getting used.
> 
> Thanks,
> 
>   - a
> 
> _______________________________________________
> OpenAFS-devel mailing list
> [email protected]
> https://lists.openafs.org/mailman/listinfo/openafs-devel
> 

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature



Reply via email to