1. 20 12月, 2008 1 次提交
  2. 18 10月, 2008 2 次提交
    • M
      9p: fix device file handling · 57c7b4e6
      Magnus Deininger 提交于
      In v9fs_get_inode(), for block, as well as char devices (in theory), 
      the function init_special_inode() is called to set up callback functions 
      for file ops. this function uses the file mode's value to determine whether 
      to use block or char dev functions. In v9fs_inode_from_fid(), the function 
      p9mode2unixmode() is used, but for all devices it initially returns S_IFBLK, 
      then uses v9fs_get_inode() to initialise a new inode, then finally uses 
      v9fs_stat2inode(), which would determine whether the inode is a block or 
      character device. However, at that point init_special_inode() had already 
      decided to use the block device functions, so even if the inode's mode is 
      turned to a character device, the block functions are still used to operate 
      on them. The attached patch simply calls init_special_inode() again for devices 
      after parsing device node data in v9fs_stat2inode() so that the proper functions 
      are used.
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      
      
      57c7b4e6
    • E
      9p: rework client code to use new protocol support functions · 51a87c55
      Eric Van Hensbergen 提交于
      Now that the new protocol functions are in place, this patch switches
      the client code to using the new support code.
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      
      
      51a87c55
  3. 25 9月, 2008 1 次提交
  4. 03 7月, 2008 1 次提交
    • E
      9p: fix O_APPEND in legacy mode · 2e4bef41
      Eric Van Hensbergen 提交于
      The legacy protocol's open operation doesn't handle an append operation
      (it is expected that the client take care of it).  We were incorrectly
      passing the extended protocol's flag through even in legacy mode.  This
      was reported in bugzilla report #10689.  This patch fixes the problem
      by disallowing extended protocol open modes from being passed in legacy
      mode and implemented append functionality on the client side by adding
      a seek after the open.
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      2e4bef41
  5. 15 5月, 2008 1 次提交
  6. 08 2月, 2008 1 次提交
  7. 07 2月, 2008 1 次提交
  8. 24 10月, 2007 1 次提交
  9. 18 10月, 2007 3 次提交
    • 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
  10. 15 7月, 2007 2 次提交
  11. 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
  12. 09 5月, 2007 1 次提交
  13. 24 4月, 2007 1 次提交
  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. 13 2月, 2007 1 次提交
  16. 10 2月, 2007 1 次提交
  17. 27 1月, 2007 2 次提交
  18. 08 12月, 2006 1 次提交
  19. 01 10月, 2006 1 次提交
  20. 27 9月, 2006 1 次提交
  21. 01 8月, 2006 1 次提交
  22. 29 6月, 2006 1 次提交
  23. 26 6月, 2006 2 次提交
  24. 16 5月, 2006 1 次提交
  25. 26 3月, 2006 4 次提交
  26. 22 3月, 2006 1 次提交
  27. 09 3月, 2006 1 次提交
  28. 03 3月, 2006 1 次提交
  29. 04 2月, 2006 1 次提交
  30. 19 1月, 2006 1 次提交
  31. 10 1月, 2006 1 次提交