1. 16 7月, 2016 1 次提交
  2. 13 8月, 2015 1 次提交
  3. 03 2月, 2015 1 次提交
    • C
      nfsd: implement pNFS operations · 9cf514cc
      Christoph Hellwig 提交于
      Add support for the GETDEVICEINFO, LAYOUTGET, LAYOUTCOMMIT and
      LAYOUTRETURN NFSv4.1 operations, as well as backing code to manage
      outstanding layouts and devices.
      
      Layout management is very straight forward, with a nfs4_layout_stateid
      structure that extends nfs4_stid to manage layout stateids as the
      top-level structure.  It is linked into the nfs4_file and nfs4_client
      structures like the other stateids, and contains a linked list of
      layouts that hang of the stateid.  The actual layout operations are
      implemented in layout drivers that are not part of this commit, but
      will be added later.
      
      The worst part of this commit is the management of the pNFS device IDs,
      which suffers from a specification that is not sanely implementable due
      to the fact that the device-IDs are global and not bound to an export,
      and have a small enough size so that we can't store the fsid portion of
      a file handle, and must never be reused.  As we still do need perform all
      export authentication and validation checks on a device ID passed to
      GETDEVICEINFO we are caught between a rock and a hard place.  To work
      around this issue we add a new hash that maps from a 64-bit integer to a
      fsid so that we can look up the export to authenticate against it,
      a 32-bit integer as a generation that we can bump when changing the device,
      and a currently unused 32-bit integer that could be used in the future
      to handle more than a single device per export.  Entries in this hash
      table are never deleted as we can't reuse the ids anyway, and would have
      a severe lifetime problem anyway as Linux export structures are temporary
      structures that can go away under load.
      
      Parts of the XDR data, structures and marshaling/unmarshaling code, as
      well as many concepts are derived from the old pNFS server implementation
      from Andy Adamson, Benny Halevy, Dean Hildebrand, Marc Eshel, Fred Isaman,
      Mike Sager, Ricardo Labiaga and many others.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      9cf514cc
  4. 23 6月, 2014 1 次提交
  5. 31 5月, 2014 2 次提交
  6. 07 5月, 2014 2 次提交
  7. 13 2月, 2013 1 次提交
  8. 09 10月, 2012 1 次提交
  9. 12 4月, 2012 5 次提交
  10. 14 9月, 2011 2 次提交
  11. 16 7月, 2011 1 次提交
    • N
      nfsd: Remove deprecated nfsctl system call and related code. · 49b28684
      NeilBrown 提交于
      As promised in feature-removal-schedule.txt it is time to
      remove the nfsctl system call.
      
      Userspace has perferred to not use this call throughout 2.6 and it has been
      excluded in the default configuration since 2.6.36 (9 months ago).
      
      So this patch removes all the code that was being compiled out.
      
      There are still references to sys_nfsctl in various arch systemcall tables
      and related code.  These should be cleaned out too, probably in the next
      merge window.
      Signed-off-by: NNeilBrown <neilb@suse.de>
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      49b28684
  12. 31 3月, 2011 1 次提交
  13. 14 1月, 2011 1 次提交
    • J
      nfsd: don't support msnfs export option · 9ce137ee
      J. Bruce Fields 提交于
      We've long had these pointless #ifdef MSNFS's sprinkled throughout the
      code--pointless because MSNFS is always defined (and we give no config
      option to make that easy to change).  So we could just remove the
      ifdef's and compile the resulting code unconditionally.
      
      But as long as we're there: why not just rip out this code entirely?
      The only purpose is to implement the "msnfs" export option which turns
      on Windows-like behavior in some cases, and:
      
      	- the export option isn't documented anywhere;
      	- the userland utilities (which would need to be able to parse
      	  "msnfs" in an export file) don't support it;
      	- I don't know how to maintain this, as I don't know what the
      	  proper behavior is; and
      	- google shows no evidence that anyone has ever used this.
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      9ce137ee
  14. 16 12月, 2009 2 次提交
    • J
      nfsd: enable V4ROOT exports · 3d8986c7
      J. Bruce Fields 提交于
      With the v4root option now enforced everywhere it should be, it is safe
      to advertise support for it to mountd.
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      3d8986c7
    • S
      nfsd: introduce export flag for v4 pseudoroot · eb4c86c6
      Steve Dickson 提交于
      NFSv4 differs from v2 and v3 in that it presents a single unified
      filesystem tree, whereas v2 and v3 exported multiple filesystem (whose
      roots could be found using a separate mount protocol).
      
      Our original NFSv4 server implementation asked the administrator to
      designate a single filesystem as the NFSv4 root, then to mount
      filesystems they wished to export underneath.  (Often using bind mounts
      of already-existing filesystems.)
      
      This was conceptually simple, and allowed easy implementation, but
      created a serious obstacle to upgrading between v2/v3: since the paths
      to v4 filesystems were different, administrators would have to adjust
      all the paths in client-side mount commands when switching to v4.
      
      Various workarounds are possible.  For example, the administrator could
      export "/" and designate it as the v4 root.  However, the security risks
      of that approach are obvious, and in any case we shouldn't be requiring
      the administrator to take extra steps to fix this problem; instead, the
      server should present consistent paths across different versions by
      default.
      
      These patches take a modified version of that approach: we provide a new
      export option which exports only a subset of a filesystem.  With this
      flag, it becomes safe for mountd to export "/" by default, with no need
      for additional configuration.
      
      We begin just by defining the new flag.
      Signed-off-by: NSteve Dickson <steved@redhat.com>
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      eb4c86c6
  15. 15 12月, 2009 3 次提交
    • J
      nfsd: let "insecure" flag vary by pseudoflavor · 12045a6e
      J. Bruce Fields 提交于
      This was an oversight; it should be among the export flags that can be
      allowed to vary by pseudoflavor.  This allows an administrator to (for
      example) allow auth_sys mounts only from low ports, but allow auth_krb5
      mounts to use any port.
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      12045a6e
    • J
      nfsd: new interface to advertise export features · e8e8753f
      J. Bruce Fields 提交于
      Soon we will add the new V4ROOT flag, and allow the INSECURE flag to
      vary by pseudoflavor.  It would be useful for nfs-utils (for example,
      for improved exportfs error reporting) to be able to know when this
      happens.  Use this new interface for that purpose.
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      e8e8753f
    • B
      nfsd: Headers Independence and include cleanups · 72579ac9
      Boaz Harrosh 提交于
      * Add includes that are directly used by headers
      * Remove includes that are not needed
      
      These are the changes made:
      
      [xdr.h]
      struct nfsd_readdirres has an embedded struct readdir_cd from nfsd.h
      fixing that we can drop other includes
      
      [xdr4.h]
      embedded types defined both at state.h and nfsd.h
      
      [syscall.h]
      After export.h fix none of these stuff is needed.
      fix extra space in # include <> statement
      
      [stats.h]
      does not need <linux/nfs4.h> but was export to user-mode
      so I don't touch it
      
      [state.h]
      embedded types from nfsfh.h like struct knfsd_fh. bringing that
      eliminates the need for all other includes
      
      [nfsfh.h]
      directly manipulating types from sunrpc/svc.h.
      Removed Other unused headers.
      
      [nfsd.h]
      removed unused headers include
      
      [export.h]
      lots of sunrpc/svc.h types and a single prototype declaration
      with pointer from nfsfh.h, but all users of export.h do need
      nfsfh.h any way. remove now un-needed include.
      
      [const.h]
      Unfixed (not independent)
      
      [cache.h]
      could do with a forward declaration of "struct svc_rqst;"
      from sunrpc/svc.h but all users absolutely will need
      sunrpc/svc.h it is easier overall this way.
      Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      72579ac9
  16. 12 6月, 2009 2 次提交
  17. 30 1月, 2009 1 次提交
  18. 15 2月, 2008 2 次提交
  19. 02 2月, 2008 1 次提交
  20. 17 10月, 2007 1 次提交
  21. 20 7月, 2007 2 次提交
  22. 18 7月, 2007 6 次提交