1. 07 1月, 2011 3 次提交
    • F
      pnfs: layout roc code · f7e8917a
      Fred Isaman 提交于
      A layout can request return-on-close.  How this interacts with the
      forgetful model of never sending LAYOUTRETURNS is a bit ambiguous.
      We forget any layouts marked roc, and wait for them to be completely
      forgotten before continuing with the close.  In addition, to compensate
      for races with any inflight LAYOUTGETs, and the fact that we do not get
      any layout stateid back from the server, we set the barrier to the worst
      case scenario of current_seqid + number of outstanding LAYOUTGETS.
      Signed-off-by: NFred Isaman <iisaman@netapp.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      f7e8917a
    • A
      NFS add session back channel draining · 42acd021
      Andy Adamson 提交于
      Currently session draining only drains the fore channel.
      The back channel processing must also be drained.
      
      Use the back channel highest_slot_used to indicate that a callback is being
      processed by the callback thread.  Move the session complete to be per channel.
      
      When the session is draininig, wait for any current back channel processing
      to complete and stop all new back channel processing by returning NFS4ERR_DELAY
      to the back channel client.
      
      Drain the back channel, then the fore channel.
      Signed-off-by: NAndy Adamson <andros@netapp.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      42acd021
    • A
      NFS implement v4.0 callback_ident · f4eecd5d
      Andy Adamson 提交于
      Use the small id to pointer translator service to provide a unique callback
      identifier per SETCLIENTID call used to identify the v4.0 callback service
      associated with the clientid.
      Signed-off-by: NAndy Adamson <andros@netapp.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      f4eecd5d
  2. 25 10月, 2010 4 次提交
  3. 23 6月, 2010 1 次提交
  4. 15 5月, 2010 1 次提交
  5. 12 4月, 2010 1 次提交
    • T
      NFSv4: fix delegated locking · 0df5dd4a
      Trond Myklebust 提交于
      Arnaud Giersch reports that NFSv4 locking is broken when we hold a
      delegation since commit 8e469ebd (NFSv4:
      Don't allow posix locking against servers that don't support it).
      
      According to Arnaud, the lock succeeds the first time he opens the file
      (since we cannot do a delegated open) but then fails after we start using
      delegated opens.
      
      The following patch fixes it by ensuring that locking behaviour is
      governed by a per-filesystem capability flag that is initially set, but
      gets cleared if the server ever returns an OPEN without the
      NFS4_OPEN_RESULT_LOCKTYPE_POSIX flag being set.
      Reported-by: NArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      Cc: stable@kernel.org
      0df5dd4a
  6. 17 2月, 2010 1 次提交
    • T
      percpu: add __percpu sparse annotations to fs · 003cb608
      Tejun Heo 提交于
      Add __percpu sparse annotations to fs.
      
      These annotations are to make sparse consider percpu variables to be
      in a different address space and warn if accessed without going
      through percpu accessors.  This patch doesn't affect normal builds.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: "Theodore Ts'o" <tytso@mit.edu>
      Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
      Cc: Alex Elder <aelder@sgi.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      003cb608
  7. 10 2月, 2010 1 次提交
  8. 05 12月, 2009 1 次提交
  9. 10 8月, 2009 1 次提交
    • T
      NFSv4: Add 'server capability' flags for NFSv4 recommended attributes · 62ab460c
      Trond Myklebust 提交于
      If the NFSv4 server doesn't support a POSIX attribute, the generic NFS code
      needs to know that, so that it don't keep trying to poll for it.
      
      However, by the same count, if the NFSv4 server does support that
      attribute, then we should ensure that the inode metadata is appropriately
      labelled as being untrusted. For instance, if we don't know the correct
      value of the file's uid, we should certainly not be caching ACLs or ACCESS
      results.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      62ab460c
  10. 18 6月, 2009 6 次提交
  11. 03 4月, 2009 3 次提交
  12. 12 3月, 2009 1 次提交
  13. 24 12月, 2008 1 次提交
    • T
      NFSv4: Remove nfs_client->cl_sem · 95d35cb4
      Trond Myklebust 提交于
      Now that we're using the flags to indicate state that needs to be
      recovered, as well as having implemented proper refcounting and spinlocking
      on the state and open_owners, we can get rid of nfs_client->cl_sem. The
      only remaining case that was dubious was the file locking, and that case is
      now covered by the nfsi->rwsem.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      95d35cb4
  14. 07 10月, 2008 1 次提交
  15. 20 4月, 2008 1 次提交
  16. 20 3月, 2008 2 次提交
    • C
      NFS: Save the values of the "mount*=" mount options · 3f8400d1
      Chuck Lever 提交于
      Save the value of the mountproto= mountport= mountvers= and mountaddr=
      options so that these values can be displayed later via
      nfs_show_options().
      
      This preserves the intent of the original mount options, should the file
      system need to be remounted based on what's displayed in /proc/mounts.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Cc: Miklos Szeredi <miklos@szeredi.hu>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      3f8400d1
    • C
      NFS: Save the value of the "port=" mount option · f22d6d79
      Chuck Lever 提交于
      During a remount based on the mount options displayed in /proc/mounts, we
      want to preserve the original behavior of the mount request.  Let's save
      the original setting of the "port=" mount option in the mount's nfs_server
      structure.
      
      This allows us to simplify the default behavior of port setting for NFSv4
      mounts: by default, NFSv2/3 mounts first try an RPC bind to determine the
      NFS server's port, unless the user specified the "port=" mount option;
      Users can force the client to skip the RPC bind by explicitly specifying
      "port=<value>".
      
      NFSv4, by contrast, assumes the NFS server port is 2049 and skips the RPC
      bind, unless the user specifies "port=".  Users can force an RPC bind for
      NFSv4 by explicitly specifying "port=0".
      
      I added a couple of extra comments to clarify this behavior.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Cc: Miklos Szeredi <miklos@szeredi.hu>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      f22d6d79
  17. 30 1月, 2008 7 次提交
  18. 11 7月, 2007 3 次提交
  19. 09 5月, 2007 1 次提交