• Andy Adamson's avatar
    NFSv4.1 resend LAYOUTGET on data server invalid layout errors · 041245c8
    Andy Adamson authored
    The "invalid layout" class of errors is handled by destroying the layout and
    getting a new layout from the server.  Currently, the layout must be
    destroyed before a new layout can be obtained.
    
    This means that all references (e.g.lsegs) to the "to be destroyed" layout
    header must be dropped before it can be destroyed. This in turn means waiting
    for all in flight RPC's using the old layout as well as draining the data
    server session slot table wait queue.
    
    Set the NFS_LAYOUT_INVALID flag to redirect I/O to the MDS while waiting for
    the old layout to be destroyed.
    Signed-off-by: default avatarAndy Adamson <andros@netapp.com>
    Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
    041245c8
pnfs.c 42.7 KB