• Trond Myklebust's avatar
    [PATCH] A basic NFSv4 client for 2.5.x · be6b809b
    Trond Myklebust authored
    In NFSv3, an RPC is retried if the special error NFSERR_JUKEBOX is
    received.  This generic bit of postprocessing happens invisibly for
    synchronous RPC's, but in the async case, the ->tk_exit callback
    must call nfs_async_handle_jukebox() by hand.
    
    In NFSv4, we also need generic postprocessing of async RPC's, but
    the details are different.  Therefore, we don't want to call
    nfs_async_handle_jukebox(); we want to call a different, NFSv4-specific
    routine.  Therefore, we want to move calls to nfs_async_handle_jukebox()
    out of the "generic" NFS code and into NFSv3-specific routines.  This
    has already been done for async READ and WRITE in the preceding patches,
    but there is still one outstanding case: the async REMOVE in sillyrename.
    
    This patch removes nfs_async_handle_jukebox() from the async sillyrename
    path, and puts in the NFSv3 ->unlink_done() rpc_op.
    be6b809b
nfs3proc.c 20.2 KB