1. 22 8月, 2013 11 次提交
  2. 21 8月, 2013 1 次提交
  3. 08 8月, 2013 8 次提交
  4. 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
  5. 24 7月, 2013 5 次提交
  6. 18 7月, 2013 1 次提交
  7. 10 7月, 2013 4 次提交
  8. 05 7月, 2013 1 次提交
  9. 04 7月, 2013 3 次提交
  10. 29 6月, 2013 5 次提交
    • J
      locks: protect most of the file_lock handling with i_lock · 1c8c601a
      Jeff Layton 提交于
      Having a global lock that protects all of this code is a clear
      scalability problem. Instead of doing that, move most of the code to be
      protected by the i_lock instead. The exceptions are the global lists
      that the ->fl_link sits on, and the ->fl_block list.
      
      ->fl_link is what connects these structures to the
      global lists, so we must ensure that we hold those locks when iterating
      over or updating these lists.
      
      Furthermore, sound deadlock detection requires that we hold the
      blocked_list state steady while checking for loops. We also must ensure
      that the search and update to the list are atomic.
      
      For the checking and insertion side of the blocked_list, push the
      acquisition of the global lock into __posix_lock_file and ensure that
      checking and update of the  blocked_list is done without dropping the
      lock in between.
      
      On the removal side, when waking up blocked lock waiters, take the
      global lock before walking the blocked list and dequeue the waiters from
      the global list prior to removal from the fl_block list.
      
      With this, deadlock detection should be race free while we minimize
      excessive file_lock_lock thrashing.
      
      Finally, in order to avoid a lock inversion problem when handling
      /proc/locks output we must ensure that manipulations of the fl_block
      list are also protected by the file_lock_lock.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      1c8c601a
    • A
      [readdir] convert nfs · 23db8620
      Al Viro 提交于
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      23db8620
    • C
      NFS: Set NFS_CS_MIGRATION for NFSv4 mounts · f112bb48
      Chuck Lever 提交于
      NFS_CS_MIGRATION makes sense only for NFSv4 mounts.  Introduced by
      commit 89652617 (NFS: Introduce "migration" mount option) Fri Sep 14
      17:24:11 2012.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      f112bb48
    • 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
    • J
      nfs: have NFSv3 try server-specified auth flavors in turn · 9111c95b
      Jeff Layton 提交于
      The current scheme is to try and pick the auth flavor that the server
      prefers. In some cases though, we may find that we're not actually
      able to use that auth flavor later. For instance, the server may
      prefer an AUTH_GSS flavor, but we may not be able to get GSSAPI creds.
      
      The current code just gives up at that point. Change it instead to
      try the ->create_server call using each of the different authflavors
      in the server's list if one was not specified at mount time. Once
      we have a successful ->create_server call, return the result. Only
      give up and return error if all attempts fail.
      
      Cc: Chuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      9111c95b