xdrgen: Emit a max_arg_sz macrostruct svc_service has a .vs_xdrsize field that is filled in byservers for each of their RPC programs. This field is supposed tocontain the size of the largest proc
xdrgen: Emit a max_arg_sz macrostruct svc_service has a .vs_xdrsize field that is filled in byservers for each of their RPC programs. This field is supposed tocontain the size of the largest procedure argument in the RPCprogram. This value is also sometimes used to size networktransport buffers.Currently, server implementations must manually calculate andhard-code this value, which is error-prone and requires updateswhen procedure arguments change.Update xdrgen to determine which procedure argument structure islargest, and emit a macro with a well-known name that containsthe size of that structure. Server code then uses this macro wheninitializing the .vs_xdrsize field.For NLM version 4, xdrgen now emits: #define NLM4_MAX_ARGS_SZ (NLM4_nlm4_lockargs_sz)Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
show more ...