1. 20 12月, 2008 3 次提交
  2. 14 11月, 2008 1 次提交
  3. 23 10月, 2008 1 次提交
  4. 18 10月, 2008 8 次提交
    • 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: eliminate depricated conv functions · 02da398b
      Eric Van Hensbergen 提交于
      Remove depricated conv functions which have been replaced with new 
      protocol routines.
      
      This patch also reworks the one instance of the file-system code which
      directly calls conversion routines (to accomplish unpacking dirreads).
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      
      
      02da398b
    • 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
    • E
      9p: move dirread to fs layer · 06b55b46
      Eric Van Hensbergen 提交于
      Currently reading a directory is implemented in the client code.
      This function is not actually a wire operation, but a meta operation 
      which calls read operations and processes the results.
      
      This patch moves this functionality to the fs layer and calls component
      wire operations instead of constructing their packets.  This provides a 
      cleaner separation and will help when we reorganize the client functions
      and protocol processing methods.
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      
      
      
      06b55b46
    • E
      9p: adjust 9p vfs write operation · dfb0ec2e
      Eric Van Hensbergen 提交于
      Currently, the 9p net wire operation ensures that all data is sent by sending
      multiple packets if the data requested is larger than the msize.  This is
      better handled in the vfs code so that we can simplify wire operations to 
      being concerned with only putting data onto and taking data off of the wire.
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      
      
      
      dfb0ec2e
    • 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 read/write functions · 0fc9655e
      Eric Van Hensbergen 提交于
      Currently there are two separate versions of read and write.  One for
      dealing with user buffers and the other for dealing with kernel buffers.
      There is a tremendous amount of code duplication in the otherwise
      identical versions of these functions.  This patch adds an additional
      user buffer parameter to read and write and conditionalizes handling of
      the buffer on whether the kernel buffer or the user buffer is populated.
      Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
      
      
      
      0fc9655e
    • 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
  5. 14 10月, 2008 1 次提交
  6. 25 9月, 2008 1 次提交
  7. 25 8月, 2008 1 次提交
  8. 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
  9. 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
  10. 25 4月, 2008 1 次提交
  11. 19 4月, 2008 1 次提交
  12. 08 2月, 2008 1 次提交
  13. 07 2月, 2008 4 次提交
  14. 06 11月, 2007 2 次提交
  15. 24 10月, 2007 2 次提交
  16. 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
  17. 10 10月, 2007 1 次提交
  18. 23 8月, 2007 1 次提交
反馈
建议
客服 返回
顶部