1. 15 9月, 2018 5 次提交
  2. 22 8月, 2018 2 次提交
  3. 17 8月, 2018 2 次提交
  4. 16 8月, 2018 1 次提交
  5. 15 8月, 2018 1 次提交
  6. 14 8月, 2018 3 次提交
  7. 10 8月, 2018 9 次提交
  8. 09 8月, 2018 9 次提交
  9. 02 8月, 2018 1 次提交
    • T
      NFSv4: Fix _nfs4_do_setlk() · 6ea76bf5
      Trond Myklebust 提交于
      The patch to fix the case where a lock request was interrupted ended up
      changing default handling of errors such as NFS4ERR_DENIED and caused the
      client to immediately resend the lock request. Let's do a partial revert
      of that request so that the default is now to exit, but change the way
      we handle resends to take into account the fact that the user may have
      interrupted the request.
      Reported-by: NKenneth Johansson <ken@kenjo.org>
      Fixes: a3cf9bca ("NFSv4: Don't add a new lock on an interrupted wait..")
      Cc: Benjamin Coddington <bcodding@redhat.com>
      Cc: Jeff Layton <jlayton@kernel.org>
      Signed-off-by: NTrond Myklebust <trond.myklebust@hammerspace.com>
      Reviewed-by: NJeff Layton <jlayton@kernel.org>
      6ea76bf5
  10. 01 8月, 2018 4 次提交
    • B
      NFSv4 client live hangs after live data migration recovery · 0f90be13
      Bill Baker 提交于
      After a live data migration event at the NFS server, the client may send
      I/O requests to the wrong server, causing a live hang due to repeated
      recovery events.  On the wire, this will appear as an I/O request failing
      with NFS4ERR_BADSESSION, followed by successful CREATE_SESSION, repeatedly.
      NFS4ERR_BADSSESSION is returned because the session ID being used was
      issued by the other server and is not valid at the old server.
      
      The failure is caused by async worker threads having cached the transport
      (xprt) in the rpc_task structure.  After the migration recovery completes,
      the task is redispatched and the task resends the request to the wrong
      server based on the old value still present in tk_xprt.
      
      The solution is to recompute the tk_xprt field of the rpc_task structure
      so that the request goes to the correct server.
      Signed-off-by: NBill Baker <bill.baker@oracle.com>
      Reviewed-by: NChuck Lever <chuck.lever@oracle.com>
      Tested-by: NHelen Chao <helen.chao@oracle.com>
      Fixes: fb43d172 ("SUNRPC: Use the multipath iterator to assign a ...")
      Cc: stable@vger.kernel.org # v4.9+
      Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
      0f90be13
    • O
      NFSv4.0 fix client reference leak in callback · 32cd3ee5
      Olga Kornievskaia 提交于
      If there is an error during processing of a callback message, it leads
      to refrence leak on the client structure and eventually an unclean
      superblock.
      Signed-off-by: NOlga Kornievskaia <kolga@netapp.com>
      Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
      32cd3ee5
    • D
      NFS: silence a harmless uninitialized variable warning · 379ebf07
      Dan Carpenter 提交于
      kstrtoul() can return -ERANGE so Smatch complains that "num" can be
      uninitialized.  We check that it's within bounds so it's not a huge
      deal.
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
      379ebf07
    • D
      sunrpc: Change rpc_print_iostats to rpc_clnt_show_stats and handle rpc_clnt clones · 016583d7
      Dave Wysochanski 提交于
      The existing rpc_print_iostats has a few shortcomings.  First, the naming
      is not consistent with other functions in the kernel that display stats.
      Second, it is really displaying stats for an rpc_clnt structure as it
      displays both xprt stats and per-op stats.  Third, it does not handle
      rpc_clnt clones, which is important for the one in-kernel tree caller
      of this function, the NFS client's nfs_show_stats function.
      
      Fix all of the above by renaming the rpc_print_iostats to
      rpc_clnt_show_stats and looping through any rpc_clnt clones via
      cl_parent.
      
      Once this interface is fixed, this addresses a problem with NFSv4.
      Before this patch, the /proc/self/mountstats always showed incorrect
      counts for NFSv4 lease and session related opcodes such as SEQUENCE,
      RENEW, SETCLIENTID, CREATE_SESSION, etc.  These counts were always 0
      even though many ops would go over the wire.  The reason for this is
      there are multiple rpc_clnt structures allocated for any given NFSv4
      mount, and inside nfs_show_stats() we callled into rpc_print_iostats()
      which only handled one of them, nfs_server->client.  Fix these counts
      by calling sunrpc's new rpc_clnt_show_stats() function, which handles
      cloned rpc_clnt structs and prints the stats together.
      
      Note that one side-effect of the above is that multiple mounts from
      the same NFS server will show identical counts in the above ops due
      to the fact the one rpc_clnt (representing the NFSv4 client state)
      is shared across mounts.
      Signed-off-by: NDave Wysochanski <dwysocha@redhat.com>
      Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
      016583d7
  11. 31 7月, 2018 3 次提交