• Chuck Lever's avatar
    NFSv4.1: Handle EXCHGID4_FLAG_CONFIRMED_R during NFSv4.1 migration · 8dcbec6d
    Chuck Lever authored
    Transparent State Migration copies a client's lease state from the
    server where a filesystem used to reside to the server where it now
    resides. When an NFSv4.1 client first contacts that destination
    server, it uses EXCHANGE_ID to detect trunking relationships.
    
    The lease that was copied there is returned to that client, but the
    destination server sets EXCHGID4_FLAG_CONFIRMED_R when replying to
    the client. This is because the lease was confirmed on the source
    server (before it was copied).
    
    Normally, when CONFIRMED_R is set, a client purges the lease and
    creates a new one. However, that throws away the entire benefit of
    Transparent State Migration.
    
    Therefore, the client must not purge that lease when it is possible
    that Transparent State Migration has occurred.
    Reported-by: default avatarXuan Qi <xuan.qi@oracle.com>
    Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
    Tested-by: default avatarXuan Qi <xuan.qi@oracle.com>
    Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
    8dcbec6d
nfs4state.c 66.1 KB