1. 14 11月, 2015 1 次提交
    • A
      9p: xattr simplifications · e409de99
      Andreas Gruenbacher 提交于
      Now that the xattr handler is passed to the xattr handler operations, we
      can use the same get and set operations for the user, trusted, and security
      xattr namespaces.  In those namespaces, we can access the full attribute
      name by "reattaching" the name prefix the vfs has skipped for us.  Add a
      xattr_full_name helper to make this obvious in the code.
      
      For the "system.posix_acl_access" and "system.posix_acl_default"
      attributes, handler->prefix is the full attribute name; the suffix is the
      empty string.
      Signed-off-by: NAndreas Gruenbacher <agruenba@redhat.com>
      Cc: Eric Van Hensbergen <ericvh@gmail.com>
      Cc: Ron Minnich <rminnich@sandia.gov>
      Cc: Latchesar Ionkov <lucho@ionkov.net>
      Cc: v9fs-developer@lists.sourceforge.net
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      e409de99
  2. 08 7月, 2013 1 次提交
    • J
      fs/9p: xattr: add trusted and security namespaces · d9a73859
      Jim Garlick 提交于
      Allow requests for security.* and trusted.* xattr name spaces
      to pass through to server.
      
      The new files are 99% cut and paste from fs/9p/xattr_user.c with the
      namespaces changed.  It has the intended effect in superficial testing.
      I do not know much detail about how these namespaces are used, but passing
      them through to the server, which can decide whether to handle them or not,
      seems reasonable.
      
      I want to support a use case where an ext4 file system is mounted via 9P,
      then re-exported via samba to windows clients in a cluster.  Windows wants
      to store xattrs such as security.NTACL.  This works when ext4 directly
      backs samba, but not when 9P is inserted.  This use case is documented here:
         http://code.google.com/p/diod/issues/detail?id=95Signed-off-by: NJim Garlick <garlick@llnl.gov>
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      d9a73859
  3. 11 1月, 2011 1 次提交
  4. 28 10月, 2010 1 次提交
  5. 03 8月, 2010 1 次提交
  6. 24 9月, 2009 1 次提交
    • A
      9p: Add fscache support to 9p · 60e78d2c
      Abhishek Kulkarni 提交于
      This patch adds a persistent, read-only caching facility for
      9p clients using the FS-Cache caching backend.
      
      When the fscache facility is enabled, each inode is associated
      with a corresponding vcookie which is an index into the FS-Cache
      indexing tree. The FS-Cache indexing tree is indexed at 3 levels:
      - session object associated with each mount.
      - inode/vcookie
      - actual data (pages)
      
      A cache tag is chosen randomly for each session. These tags can
      be read off /sys/fs/9p/caches and can be passed as a mount-time
      parameter to re-attach to the specified caching session.
      Signed-off-by: NAbhishek Kulkarni <adkulkar@umail.iu.edu>
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      60e78d2c
  7. 15 7月, 2007 1 次提交
  8. 26 3月, 2006 3 次提交
  9. 19 1月, 2006 1 次提交
  10. 09 1月, 2006 1 次提交
  11. 10 9月, 2005 1 次提交
    • E
      [PATCH] v9fs: Documentation, Makefiles, Configuration · 93fa58cb
      Eric Van Hensbergen 提交于
      OVERVIEW
      
      V9FS is a distributed file system for Linux which provides an
      implementation of the Plan 9 resource sharing protocol 9P.  It can be
      used to share all sorts of resources: static files, synthetic file servers
      (such as /proc or /sys), devices, and application file servers (such as
      FUSE).
      
      BACKGROUND
      
      Plan 9 (http://plan9.bell-labs.com/plan9) is a research operating
      system and associated applications suite developed by the Computing
      Science Research Center of AT&T Bell Laboratories (now a part of
      Lucent Technologies), the same group that developed UNIX , C, and C++.
      Plan 9 was initially released in 1993 to universities, and then made
      generally available in 1995. Its core operating systems code laid the
      foundation for the Inferno Operating System released as a product by
      Lucent Bell-Labs in 1997. The Inferno venture was the only commercial
      embodiment of Plan 9 and is currently maintained as a product by Vita
      Nuova (http://www.vitanuova.com). After updated releases in 2000 and
      2002, Plan 9 was open-sourced under the OSI approved Lucent Public
      License in 2003.
      
      The Plan 9 project was started by Ken Thompson and Rob Pike in 1985.
      Their intent was to explore potential solutions to some of the
      shortcomings of UNIX in the face of the widespread use of high-speed
      networks to connect machines. In UNIX, networking was an afterthought
      and UNIX clusters became little more than a network of stand-alone
      systems. Plan 9 was designed from first principles as a seamless
      distributed system with integrated secure network resource sharing.
      Applications and services were architected in such a way as to allow
      for implicit distribution across a cluster of systems. Configuring an
      environment to use remote application components or services in place
      of their local equivalent could be achieved with a few simple command
      line instructions. For the most part, application implementations
      operated independent of the location of their actual resources.
      
      Commercial operating systems haven't changed much in the 20 years
      since Plan 9 was conceived. Network and distributed systems support is
      provided by a patchwork of middle-ware, with an endless number of
      packages supplying pieces of the puzzle. Matters are complicated by
      the use of different complicated protocols for individual services,
      and separate implementations for kernel and application resources.
      The V9FS project (http://v9fs.sourceforge.net) is an attempt to bring
      Plan 9's unified approach to resource sharing to Linux and other
      operating systems via support for the 9P2000 resource sharing
      protocol.
      
      V9FS HISTORY
      
      V9FS was originally developed by Ron Minnich and Maya Gokhale at Los
      Alamos National Labs (LANL) in 1997.  In November of 2001, Greg Watson
      setup a SourceForge project as a public repository for the code which
      supported the Linux 2.4 kernel.
      
      About a year ago, I picked up the initial attempt Ron Minnich had
      made to provide 2.6 support and got the code integrated into a 2.6.5
      kernel.   I then went through a line-for-line re-write attempting to
      clean-up the code while more closely following the Linux Kernel style
      guidelines.  I co-authored a paper with Ron Minnich on the V9FS Linux
      support including performance comparisons to NFSv3 using Bonnie and
      PostMark - this paper appeared at the USENIX/FREENIX 2005
      conference in April 2005:
      ( http://www.usenix.org/events/usenix05/tech/freenix/hensbergen.html ).
      
      CALL FOR PARTICIPATION/REQUEST FOR COMMENTS
      
      Our 2.6 kernel support is stabilizing and we'd like to begin pursuing
      its integration into the official kernel tree.  We would appreciate any
      review, comments, critiques, and additions from this community and are
      actively seeking people to join our project and help us produce
      something that would be acceptable and useful to the Linux community.
      
      STATUS
      
      The code is reasonably stable, although there are no doubt corner cases
      our regression tests haven't discovered yet.  It is in regular use by several
      of the developers and has been tested on x86 and PowerPC
      (32-bit and 64-bit) in both small and large (LANL cluster) deployments.
      Our current regression tests include fsx, bonnie, and postmark.
      
      It was our intention to keep things as simple as possible for this
      release -- trying to focus on correctness within the core of the
      protocol support versus a rich set of features.  For example: a more
      complete security model and cache layer are in the road map, but
      excluded from this release.   Additionally, we have removed support for
      mmap operations at Al Viro's request.
      
      PERFORMANCE
      
      Detailed performance numbers and analysis are included in the FREENIX
      paper, but we show comparable performance to NFSv3 for large file
      operations based on the Bonnie benchmark, and superior performance for
      many small file operations based on the PostMark benchmark.   Somewhat
      preliminary graphs (from the FREENIX paper) are available
      (http://v9fs.sourceforge.net/perf/index.html).
      
      RESOURCES
      
      The source code is available in a few different forms:
      
      tarballs: http://v9fs.sf.net
      CVSweb: http://cvs.sourceforge.net/viewcvs.py/v9fs/linux-9p/
      CVS: :pserver:anonymous@cvs.sourceforge.net:/cvsroot/v9fs/linux-9p
      Git: rsync://v9fs.graverobber.org/v9fs (webgit: http://v9fs.graverobber.org)
      9P: tcp!v9fs.graverobber.org!6564
      
      The user-level server is available from either the Plan 9 distribution
      or from http://v9fs.sf.net
      Other support applications are still being developed, but preliminary
      version can be downloaded from sourceforge.
      
      Documentation on the protocol has historically been the Plan 9 Man
      pages (http://plan9.bell-labs.com/sys/man/5/INDEX.html), but there is
      an effort under way to write a more complete Internet-Draft style
      specification (http://v9fs.sf.net/rfc).
      
      There are a couple of mailing lists supporting v9fs, but the most used
      is v9fs-developer@lists.sourceforge.net -- please direct/cc your
      comments there so the other v9fs contibutors can participate in the
      conversation.  There is also an IRC channel: irc://freenode.net/#v9fs
      
      This part of the patch contains Documentation, Makefiles, and configuration
      file changes.
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      93fa58cb