1. 09 2月, 2010 1 次提交
  2. 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
  3. 18 8月, 2009 1 次提交
  4. 20 12月, 2008 1 次提交
  5. 18 10月, 2008 2 次提交
    • E
      9p: move readn meta-function from client to fs layer · fbedadc1
      Eric Van Hensbergen 提交于
      There are a couple of methods in the client code which aren't actually
      wire operations.  To keep things organized cleaner, these operations are
      being moved to the fs layer.
      
      This patch moves the readn meta-function (which executes multiple wire
      reads until a buffer is full) to the fs layer.
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      
      
      
      fbedadc1
    • E
      9p: consolidate transport structure · 8b81ef58
      Eric Van Hensbergen 提交于
      Right now there is a transport module structure which provides per-transport
      type functions and data and a transport structure which contains per-instance
      public data as well as function pointers to instance specific functions.
      
      This patch moves public transport visible instance data to the client
      structure (which in some cases had duplicate data) and consolidates the
      functions into the transport module structure.
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      8b81ef58
  6. 14 10月, 2008 1 次提交
  7. 15 5月, 2008 4 次提交
    • E
      9p: fix error path during early mount · 887b3ece
      Eric Van Hensbergen 提交于
      There was some cleanup issues during early mount which would trigger
      a kernel bug for certain types of failure.  This patch reorganizes the
      cleanup to get rid of the bad behavior.
      
      This also merges the 9pnet and 9pnet_fd modules for the purpose of
      configuration and initialization.  Keeping the fd transport separate
      from the core 9pnet code seemed like a good idea at the time, but in
      practice has caused more harm and confusion than good.
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      887b3ece
    • J
      fs/9p/v9fs.c (v9fs_parse_options): Handle kstrdup and match_strdup failure.... · ab31267d
      Jim Meyering 提交于
      fs/9p/v9fs.c (v9fs_parse_options): Handle kstrdup and match_strdup failure. Now that this function can fail, return an int, diagnose other option-parsing failures, and adjust the sole caller: (v9fs_session_init): Handle kstrdup failure. Propagate any new v9fs_parse_options failure "up".
      Signed-off-by: NJim Meyering <meyering@redhat.com>
      Cc: Ron Minnich <rminnich@sandia.gov>
      Cc: Latchesar Ionkov <lucho@ionkov.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Acked-by: NEric Van Hensbergen <ericvh@gmail.com>
      ab31267d
    • E
      9p: Documentation updates · ee443996
      Eric Van Hensbergen 提交于
      The kernel-doc comments of much of the 9p system have been in disarray since
      reorganization.  This patch fixes those problems, adds additional documentation
      and a template book which collects the 9p information.
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      ee443996
    • M
      add match_strlcpy() us it to make v9fs make uname and remotename parsing more robust · b32a09db
      Markus Armbruster 提交于
      match_strcpy() is a somewhat creepy function: the caller needs to make sure
      that the destination buffer is big enough, and when he screws up or
      forgets, match_strcpy() happily overruns the buffer.
      
      There's exactly one customer: v9fs_parse_options().  I believe it currently
      can't overflow its buffer, but that's not exactly obvious.
      
      The source string is a substing of the mount options.  The kernel silently
      truncates those to PAGE_SIZE bytes, including the terminating zero.  See
      compat_sys_mount() and do_mount().
      
      The destination buffer is obtained from __getname(), which allocates from
      name_cachep, which is initialized by vfs_caches_init() for size PATH_MAX.
      
      We're safe as long as PATH_MAX <= PAGE_SIZE.  PATH_MAX is 4096.  As far as
      I know, the smallest PAGE_SIZE is also 4096.
      
      Here's a patch that makes the code a bit more obviously correct.  It
      doesn't depend on PATH_MAX <= PAGE_SIZE.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Cc: Latchesar Ionkov <lucho@ionkov.net>
      Cc: Jim Meyering <meyering@redhat.com>
      Cc: "Randy.Dunlap" <rdunlap@xenotime.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      b32a09db
  8. 07 2月, 2008 1 次提交
  9. 06 11月, 2007 1 次提交
  10. 24 10月, 2007 1 次提交
  11. 18 10月, 2007 5 次提交
    • E
      9p: fix bad kconfig cross-dependency · fb0466c3
      Eric Van Hensbergen 提交于
      This patch moves transport dynamic registration and matching to the net
      module to prevent a bad Kconfig dependency between the net and fs 9p modules.
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      fb0466c3
    • L
      9p: attach-per-user · ba17674f
      Latchesar Ionkov 提交于
      The 9P2000 protocol requires the authentication and permission checks to be
      done in the file server. For that reason every user that accesses the file
      server tree has to authenticate and attach to the server separately.
      Multiple users can share the same connection to the server.
      
      Currently v9fs does a single attach and executes all I/O operations as a
      single user. This makes using v9fs in multiuser environment unsafe as it
      depends on the client doing the permission checking.
      
      This patch improves the 9P2000 support by allowing every user to attach
      separately. The patch defines three modes of access (new mount option
      'access'):
      
      - attach-per-user (access=user) (default mode for 9P2000.u)
       If a user tries to access a file served by v9fs for the first time, v9fs
       sends an attach command to the server (Tattach) specifying the user. If
       the attach succeeds, the user can access the v9fs tree.
       As there is no uname->uid (string->integer) mapping yet, this mode works
       only with the 9P2000.u dialect.
      
      - allow only one user to access the tree (access=<uid>)
       Only the user with uid can access the v9fs tree. Other users that attempt
       to access it will get EPERM error.
      
      - do all operations as a single user (access=any) (default for 9P2000)
       V9fs does a single attach and all operations are done as a single user.
       If this mode is selected, the v9fs behavior is identical with the current
       one.
      Signed-off-by: NLatchesar Ionkov <lucho@ionkov.net>
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      ba17674f
    • L
      9p: rename uid and gid parameters · bd32b82d
      Latchesar Ionkov 提交于
      Change the names of 'uid' and 'gid' parameters to the more appropriate
      'dfltuid' and 'dfltgid'.  This also sets the default uid/gid to -2
      (aka nfsnobody)
      Signed-off-by: NLatchesar Ionkov <lucho@ionkov.net>
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      bd32b82d
    • L
      9p: define session flags · 2405669b
      Latchesar Ionkov 提交于
      Create more general flags field in the v9fs_session_info struct and move the
      'extended' flag as a bit in the flags.
      Signed-off-by: NLatchesar Ionkov <lucho@ionkov.net>
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      2405669b
    • E
      9p: Make transports dynamic · a80d923e
      Eric Van Hensbergen 提交于
      This patch abstracts out the interfaces to underlying transports so that
      new transports can be added as modules.  This should also allow kernel
      configuration of transports without ifdef-hell.
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      a80d923e
  12. 17 7月, 2007 1 次提交
  13. 15 7月, 2007 2 次提交
  14. 19 2月, 2007 1 次提交
    • E
      9p: implement optional loose read cache · e03abc0c
      Eric Van Hensbergen 提交于
      While cacheing is generally frowned upon in the 9p world, it has its
      place -- particularly in situations where the remote file system is
      exclusive and/or read-only.  The vacfs views of venti content addressable
      store are a real-world instance of such a situation.  To facilitate higher
      performance for these workloads (and eventually use the fscache patches),
      we have enabled a "loose" cache mode which does not attempt to maintain
      any form of consistency on the page-cache or dcache.  This results in over
      two orders of magnitude performance improvement for cacheable block reads
      in the Bonnie benchmark.  The more aggressive use of the dcache also seems
      to improve metadata operational performance.
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      e03abc0c
  15. 27 1月, 2007 1 次提交
  16. 04 12月, 2006 1 次提交
  17. 30 9月, 2006 1 次提交
  18. 01 7月, 2006 1 次提交
  19. 26 3月, 2006 3 次提交
  20. 03 3月, 2006 1 次提交
    • E
      [PATCH] v9fs: simplify fid mapping · 46f6dac2
      Eric Van Hensbergen 提交于
      v9fs has been plagued by an over-complicated approach trying to map Linux
      dentry semantics to Plan 9 fid semantics.  Our previous approach called for
      aggressive flushing of the dcache resulting in several problems (including
      wierd cwd behavior when running /bin/pwd).
      
      This patch dramatically simplifies our handling of this fid management.  Fids
      will not be clunked as promptly, but the new approach is more functionally
      correct.  We now clunk un-open fids only when their dentry ref_count reaches 0
      (and d_delete is called).
      
      Another simplification is we no longer seek to match fids to the process-id or
      uid of the action initiator.  The uid-matching will need to be revisited when
      we fix the security model.
      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>
      46f6dac2
  21. 21 2月, 2006 1 次提交
  22. 09 1月, 2006 3 次提交
  23. 07 11月, 2005 1 次提交
  24. 23 9月, 2005 1 次提交
  25. 10 9月, 2005 3 次提交