• Mi Jinlong's avatar
    nfsd41: try to check reply size before operation · 58e7b33a
    Mi Jinlong authored
    For checking the size of reply before calling a operation,
    we need try to get maxsize of the operation's reply.
    
    v3: using new method as Bruce said,
    
     "we could handle operations in two different ways:
    
    	- For operations that actually change something (write, rename,
    	  open, close, ...), do it the way we're doing it now: be
    	  very careful to estimate the size of the response before even
    	  processing the operation.
    	- For operations that don't change anything (read, getattr, ...)
    	  just go ahead and do the operation.  If you realize after the
    	  fact that the response is too large, then return the error at
    	  that point.
    
      So we'd add another flag to op_flags: say, OP_MODIFIES_SOMETHING.  And for
      operations with OP_MODIFIES_SOMETHING set, we'd do the first thing.  For
      operations without it set, we'd do the second."
    Signed-off-by: default avatarMi Jinlong <mijinlong@cn.fujitsu.com>
    [bfields@redhat.com: crash, don't attempt to handle, undefined op_rsize_bop]
    Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
    58e7b33a
nfs4xdr.c 87.4 KB