1. 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
  2. 25 4月, 2008 1 次提交
  3. 19 4月, 2008 1 次提交
  4. 08 2月, 2008 1 次提交
  5. 07 2月, 2008 4 次提交
  6. 06 11月, 2007 2 次提交
  7. 24 10月, 2007 2 次提交
  8. 18 10月, 2007 6 次提交
    • 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
    • E
      9p: soften invalidation in loose_mode · 50fd8010
      Eric Van Hensbergen 提交于
      Loose mode in 9p utilizes the page cache without respecting coherency with
      the server.  Any writes previously invaldiated the entire mapping for a file.
      This patch softens the behavior to only invalidate the region of the actual
      write.
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      50fd8010
    • 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
  9. 10 10月, 2007 1 次提交
  10. 23 8月, 2007 1 次提交
  11. 17 7月, 2007 1 次提交
  12. 15 7月, 2007 3 次提交
  13. 22 5月, 2007 1 次提交
    • A
      Detach sched.h from mm.h · e8edc6e0
      Alexey Dobriyan 提交于
      First thing mm.h does is including sched.h solely for can_do_mlock() inline
      function which has "current" dereference inside. By dealing with can_do_mlock()
      mm.h can be detached from sched.h which is good. See below, why.
      
      This patch
      a) removes unconditional inclusion of sched.h from mm.h
      b) makes can_do_mlock() normal function in mm/mlock.c
      c) exports can_do_mlock() to not break compilation
      d) adds sched.h inclusions back to files that were getting it indirectly.
      e) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were
         getting them indirectly
      
      Net result is:
      a) mm.h users would get less code to open, read, preprocess, parse, ... if
         they don't need sched.h
      b) sched.h stops being dependency for significant number of files:
         on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,
         after patch it's only 3744 (-8.3%).
      
      Cross-compile tested on
      
      	all arm defconfigs, all mips defconfigs, all powerpc defconfigs,
      	alpha alpha-up
      	arm
      	i386 i386-up i386-defconfig i386-allnoconfig
      	ia64 ia64-up
      	m68k
      	mips
      	parisc parisc-up
      	powerpc powerpc-up
      	s390 s390-up
      	sparc sparc-up
      	sparc64 sparc64-up
      	um-x86_64
      	x86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig
      
      as well as my two usual configs.
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e8edc6e0
  14. 09 5月, 2007 1 次提交
  15. 24 4月, 2007 1 次提交
  16. 27 3月, 2007 1 次提交
  17. 19 2月, 2007 2 次提交
    • 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
    • E
      9p: Use kthread_stop instead of sending a SIGKILL. · 2c0463a9
      Eric W. Biederman 提交于
      Since the kthread api does not bump the reference count on
      processes that tracked it is not safe allow user space to
      kill the threads, as I still retain a pointer to the task_struct.
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Acked-by: NEric Van Hensbergen <ericvh@gmail.com>
      2c0463a9
  18. 13 2月, 2007 2 次提交
  19. 12 2月, 2007 1 次提交
  20. 10 2月, 2007 1 次提交
  21. 27 1月, 2007 3 次提交