1. 25 11月, 2013 1 次提交
  2. 20 11月, 2013 4 次提交
  3. 19 11月, 2013 2 次提交
  4. 16 11月, 2013 5 次提交
  5. 15 11月, 2013 10 次提交
  6. 14 11月, 2013 3 次提交
    • S
      CIFS: SMB2/SMB3 Copy offload support (refcopy) phase 1 · 41c1358e
      Steve French 提交于
      This first patch adds the ability for us to do a server side copy
      (ie fast copy offloaded to the server to perform, aka refcopy)
      
      "cp --reflink"
      
      of one file to another located on the same server.  This
      is much faster than traditional copy (which requires
      reading and writing over the network and extra
      memcpys).
      
      This first version is not going to be copy
      files larger than about 1MB (to Samba) until I add
      support for multiple chunks and for autoconfiguring
      the chunksize.
      
      It includes:
      1) processing of the ioctl
      2) marshalling and sending the SMB2/SMB3 fsctl over the network
      3) simple parsing of the response
      
      It does not include yet (these will be in followon patches to come soon):
      1) support for multiple chunks
      2) support for autoconfiguring and remembering the chunksize
      3) Support for the older style copychunk which Samba 4.1 server supports
      (because this requires write permission on the target file, which
      cp does not give you, apparently per-posix).  This may require
      a distinct tool (other than cp) and other ioctl to implement.
      Reviewed-by: NPavel Shilovsky <piastry@etersoft.ru>
      Signed-off-by: NSteve French <smfrench@gmail.com>
      41c1358e
    • J
      nfs: don't retry detect_trunking with RPC_AUTH_UNIX more than once · 6d769f1e
      Jeff Layton 提交于
      Currently, when we try to mount and get back NFS4ERR_CLID_IN_USE or
      NFS4ERR_WRONGSEC, we create a new rpc_clnt and then try the call again.
      There is no guarantee that doing so will work however, so we can end up
      retrying the call in an infinite loop.
      
      Worse yet, we create the new client using rpc_clone_client_set_auth,
      which creates the new client as a child of the old one. Thus, we can end
      up with a *very* long lineage of rpc_clnts. When we go to put all of the
      references to them, we can end up with a long call chain that can smash
      the stack as each rpc_free_client() call can recurse back into itself.
      
      This patch fixes this by simply ensuring that the SETCLIENTID call will
      only be retried in this situation if the last attempt did not use
      RPC_AUTH_UNIX.
      
      Note too that with this change, we don't need the (i > 2) check in the
      -EACCES case since we now have a more reliable test as to whether we
      should reattempt.
      
      Cc: stable@vger.kernel.org # v3.10+
      Cc: Chuck Lever <chuck.lever@oracle.com>
      Tested-by/Acked-by: Weston Andros Adamson <dros@netapp.com>
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      6d769f1e
    • J
      nfsd4: improve write performance with better sendspace reservations · 6ff40dec
      J. Bruce Fields 提交于
      Currently the rpc code conservatively refuses to accept rpc's from a
      client if the sum of its worst-case estimates of the replies it owes
      that client exceed the send buffer space.
      
      Unfortunately our estimate of the worst-case reply for an NFSv4 compound
      is always the maximum read size.  This can unnecessarily limit the
      number of operations we handle concurrently, for example in the case
      most operations are writes (which have small replies).
      
      We can do a little better if we check which ops the compound contains.
      
      This is still a rough estimate, we'll need to improve on it some day.
      Reported-by: NShyam Kaushik <shyamnfs1@gmail.com>
      Tested-by: NShyam Kaushik <shyamnfs1@gmail.com>
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      6ff40dec
  7. 13 11月, 2013 15 次提交