1. 22 8月, 2013 6 次提交
  2. 08 8月, 2013 3 次提交
  3. 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
  4. 24 7月, 2013 2 次提交
  5. 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
  6. 20 6月, 2013 1 次提交
  7. 19 6月, 2013 1 次提交
  8. 09 6月, 2013 6 次提交
  9. 07 6月, 2013 10 次提交
  10. 30 5月, 2013 1 次提交
  11. 21 5月, 2013 1 次提交
    • A
      NFSv4.1 Fix a pNFS session draining deadlock · 774d5f14
      Andy Adamson 提交于
      On a CB_RECALL the callback service thread flushes the inode using
      filemap_flush prior to scheduling the state manager thread to return the
      delegation. When pNFS is used and I/O has not yet gone to the data server
      servicing the inode, a LAYOUTGET can preceed the I/O. Unlike the async
      filemap_flush call, the LAYOUTGET must proceed to completion.
      
      If the state manager starts to recover data while the inode flush is sending
      the LAYOUTGET, a deadlock occurs as the callback service thread holds the
      single callback session slot until the flushing is done which blocks the state
      manager thread, and the state manager thread has set the session draining bit
      which puts the inode flush LAYOUTGET RPC to sleep on the forechannel slot
      table waitq.
      
      Separate the draining of the back channel from the draining of the fore channel
      by moving the NFS4_SESSION_DRAINING bit from session scope into the fore
      and back slot tables.  Drain the back channel first allowing the LAYOUTGET
      call to proceed (and fail) so the callback service thread frees the callback
      slot. Then proceed with draining the forechannel.
      Signed-off-by: NAndy Adamson <andros@netapp.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      774d5f14
  12. 12 5月, 2013 1 次提交
    • C
      freezer: add unsafe versions of freezable helpers for NFS · 416ad3c9
      Colin Cross 提交于
      NFS calls the freezable helpers with locks held, which is unsafe
      and will cause lockdep warnings when 6aa97070 "lockdep: check
      that no locks held at freeze time" is reapplied (it was reverted
      in dbf520a9).  NFS shouldn't be doing this, but it has
      long-running syscalls that must hold a lock but also shouldn't
      block suspend.  Until NFS freeze handling is rewritten to use a
      signal to exit out of the critical section, add new *_unsafe
      versions of the helpers that will not run the lockdep test when
      6aa97070 is reapplied, and call them from NFS.
      
      In practice the likley result of holding the lock while freezing
      is that a second task blocked on the lock will never freeze,
      aborting suspend, but it is possible to manufacture a case using
      the cgroup freezer, the lock, and the suspend freezer to create
      a deadlock.  Silencing the lockdep warning here will allow
      problems to be found in other drivers that may have a more
      serious deadlock risk, and prevent new problems from being added.
      Signed-off-by: NColin Cross <ccross@android.com>
      Acked-by: NPavel Machek <pavel@ucw.cz>
      Acked-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      416ad3c9
  13. 07 5月, 2013 2 次提交
  14. 04 5月, 2013 1 次提交
  15. 29 4月, 2013 2 次提交
  16. 24 4月, 2013 1 次提交