• Chuck Lever's avatar
    NFS: Introduce "migration" mount option · 89652617
    Chuck Lever authored
    Currently, the Linux client uses a unique nfs_client_id4.id string
    when identifying itself to distinct NFS servers.
    
    To support transparent state migration, the Linux client will have to
    use the same nfs_client_id4 string for all servers it communicates
    with (also known as the "uniform client string" approach).  Otherwise
    NFS servers can not recognize that open and lock state need to be
    merged after a file system transition.
    
    Unfortunately, there are some NFSv4.0 servers currently in the field
    that do not tolerate the uniform client string approach.
    
    Thus, by default, our NFSv4.0 mounts will continue to use the current
    approach, and we introduce a mount option that switches them to use
    the uniform model.  Client administrators must identify which servers
    can be mounted with this option.  Eventually most NFSv4.0 servers will
    be able to handle the uniform approach, and we can change the default.
    
    The first mount of a server controls the behavior for all subsequent
    mounts for the lifetime of that set of mounts of that server.  After
    the last mount of that server is gone, the client erases the data
    structure that tracks the lease.  A subsequent lease may then honor
    a different "migration" setting.
    
    This patch adds only the infrastructure for parsing the new mount
    option.  Support for uniform client strings is added in a subsequent
    patch.
    Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
    Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
    89652617
client.c 37.1 KB