1. 05 9月, 2013 3 次提交
    • W
      nfs4.1: Minimal SP4_MACH_CRED implementation · 2031cd1a
      Weston Andros Adamson 提交于
      This is a minimal client side implementation of SP4_MACH_CRED.  It will
      attempt to negotiate SP4_MACH_CRED iff the EXCHANGE_ID is using
      krb5i or krb5p auth.  SP4_MACH_CRED will be used if the server supports the
      minimal operations:
      
       BIND_CONN_TO_SESSION
       EXCHANGE_ID
       CREATE_SESSION
       DESTROY_SESSION
       DESTROY_CLIENTID
      
      This patch only includes the EXCHANGE_ID negotiation code because
      the client will already use the machine cred for these operations.
      
      If the server doesn't support SP4_MACH_CRED or doesn't support the minimal
      operations, the exchange id will be resent with SP4_NONE.
      Signed-off-by: NWeston Andros Adamson <dros@netapp.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      2031cd1a
    • T
      NFSv4: Document the recover_lost_locks kernel parameter · f6de7a39
      Trond Myklebust 提交于
      Rename the new 'recover_locks' kernel parameter to 'recover_lost_locks'
      and change the default to 'false'. Document why in
      Documentation/kernel-parameters.txt
      
      Move the 'recover_lost_locks' kernel parameter to fs/nfs/super.c to
      make it easy to backport to kernels prior to 3.6.x, which don't have
      a separate NFSv4 module.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      f6de7a39
    • N
      NFSv4: Don't try to recover NFSv4 locks when they are lost. · ef1820f9
      NeilBrown 提交于
      When an NFSv4 client loses contact with the server it can lose any
      locks that it holds.
      
      Currently when it reconnects to the server it simply tries to reclaim
      those locks.  This might succeed even though some other client has
      held and released a lock in the mean time.  So the first client might
      think the file is unchanged, but it isn't.  This isn't good.
      
      If, when recovery happens, the locks cannot be claimed because some
      other client still holds the lock, then we get a message in the kernel
      logs, but the client can still write.  So two clients can both think
      they have a lock and can both write at the same time.  This is equally
      not good.
      
      There was a patch a while ago
        http://comments.gmane.org/gmane.linux.nfs/41917
      
      which tried to address some of this, but it didn't seem to go
      anywhere.  That patch would also send a signal to the process.  That
      might be useful but for now this patch just causes writes to fail.
      
      For NFSv4 (unlike v2/v3) there is a strong link between the lock and
      the write request so we can fairly easily fail any IO of the lock is
      gone.  While some applications might not expect this, it is still
      safer than allowing the write to succeed.
      
      Because this is a fairly big change in behaviour a module parameter,
      "recover_locks", is introduced which defaults to true (the current
      behaviour) but can be set to "false" to tell the client not to try to
      recover things that were lost.
      Signed-off-by: NNeilBrown <neilb@suse.de>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      ef1820f9
  2. 04 9月, 2013 12 次提交
  3. 30 8月, 2013 1 次提交
  4. 22 8月, 2013 14 次提交
  5. 08 8月, 2013 3 次提交
  6. 25 7月, 2013 1 次提交
    • T
      NFSv4: Fix nfs4_init_uniform_client_string for net namespaces · 55b59293
      Trond Myklebust 提交于
      Commit 6f2ea7f2 (NFS: Add nfs4_unique_id boot parameter) introduces a
      boot parameter that allows client administrators to set a string
      identifier for use by the EXCHANGE_ID and SETCLIENTID arguments in order
      to make them more globally unique.
      
      Unfortunately, that uniquifier is no longer globally unique in the presence
      of net namespaces, since each container expects to be able to set up their
      own lease when mounting a new NFSv4/4.1 partition.
      The fix is to add back in the container-specific hostname in addition to
      the unique id.
      
      Cc: Chuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      55b59293
  7. 24 7月, 2013 2 次提交
  8. 29 6月, 2013 1 次提交
    • A
      NFSv4.1 Refactor nfs4_init_session and nfs4_init_channel_attrs · 18aad3d5
      Andy Adamson 提交于
      nfs4_init_session was originally written to be called prior to
      nfs4_init_channel_attrs, setting the session target_max response and request
      sizes that nfs4_init_channel_attrs would pay attention to.
      
      In the current code flow, nfs4_init_session, just like nfs4_init_ds_session
      for the data server case, is called after the session is all negotiated, and
      is actually used in a RECLAIM COMPLETE call to the server.
      
      Remove the un-needed fc_target_max response and request fields from
      nfs4_session and just set the max_resp_sz and max_rqst_sz in
      nfs4_init_channel_attrs.
      Signed-off-by: NAndy Adamson <andros@netapp.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      18aad3d5
  9. 20 6月, 2013 1 次提交
  10. 19 6月, 2013 1 次提交
  11. 09 6月, 2013 1 次提交