1. 09 Aug, 2010 1 commit
    • Christoph Hellwig's avatar
      remove inode_setattr · 1025774c
      Christoph Hellwig authored
      
      
      Replace inode_setattr with opencoded variants of it in all callers.  This
      moves the remaining call to vmtruncate into the filesystem methods where it
      can be replaced with the proper truncate sequence.
      
      In a few cases it was obvious that we would never end up calling vmtruncate
      so it was left out in the opencoded variant:
      
       spufs: explicitly checks for ATTR_SIZE earlier
       btrfs,hugetlbfs,logfs,dlmfs: explicitly clears ATTR_SIZE earlier
       ufs: contains an opencoded simple_seattr + truncate that sets the filesize just above
      
      In addition to that ncpfs called inode_setattr with handcrafted iattrs,
      which allowed to trim down the opencoded variant.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      1025774c
  2. 22 May, 2010 4 commits
  3. 21 May, 2010 3 commits
  4. 05 Apr, 2010 2 commits
  5. 30 Mar, 2010 1 commit
    • Tejun Heo's avatar
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking... · 5a0e3ad6
      Tejun Heo authored
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
      
      percpu.h is included by sched.h and module.h and thus ends up being
      included when building most .c files.  percpu.h includes slab.h which
      in turn includes gfp.h making everything defined by the two files
      universally available and complicating inclusion dependencies.
      
      percpu.h -> slab.h dependency is about to be removed.  Prepare for
      this change by updating users of gfp and slab facilities include those
      headers directly instead of assuming availability.  As this conversion
      needs to touch large number of source files, the following script is
      used as the basis of conversion.
      
        http://userweb.kernel.org/~tj/misc/slabh-sweep.py
      
      The script does the followings.
      
      * Scan files for gfp and slab usages and update includes such that
        only the necessary includes are there.  ie. if only gfp is used,
        gfp.h, if slab is used, slab.h.
      
      * When the script inserts a new include, it looks at the include
        bloc...
      5a0e3ad6
  6. 05 Mar, 2010 2 commits
  7. 08 Feb, 2010 1 commit
    • M. Mohan Kumar's avatar
      9p: Include fsync support for 9p client · 7a4439c4
      M. Mohan Kumar authored
      
      
      Implement the fsync in the client side by marking stat field values to 'don't touch' so that server may 
      interpret it as a request to guarantee that the contents of the associated file are committed to stable 
      storage before the Rwstat message is returned.
      
      Without this patch, calling fsync on a 9p file results in "Invalid argument" error. Please check the attached 
      C program.
      
      Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> 
      Signed-off-by: M. Mohan Kumar <mohan@in.ibm.com> 
      Acked-by: default avatarVenkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
      Signed-off-by: default avatarEric Van Hensbergen <ericvh@gmail.com>
      
      7a4439c4
  8. 14 Jan, 2010 1 commit
  9. 02 Nov, 2009 1 commit
    • Martin Stava's avatar
      9p: fix readlink · 2511cd0b
      Martin Stava authored
      
      
      I do not know if you've looked on the patch, but unfortunately it is
      incorrect. A suggested better version is in this email (the old
      version didn't work in case the user provided buffer was not long
      enough - it incorrectly appended null byte on a position of last char,
      and thus broke the contract of the readlink method). However, I'm
      still not sure this is 100% correct thing to do, I think readlink is
      supposed to return buffer without last null byte in all cases, but we
      do return last null byte (even the old version).. on the other hand it
      is likely unspecified what is in the remaining part of the buffer, so
      null character may be fine there ;):
      Signed-off-by: default avatarMartin Stava <martin.stava@gmail.com>
      Signed-off-by: default avatarEric Van Hensbergen <ericvh@gmail.com>
      2511cd0b
  10. 23 Sep, 2009 2 commits
  11. 17 Aug, 2009 5 commits
  12. 19 Dec, 2008 2 commits
  13. 13 Nov, 2008 1 commit
  14. 17 Oct, 2008 2 commits
    • Magnus Deininger's avatar
      9p: fix device file handling · 57c7b4e6
      Magnus Deininger authored
      
      
      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: default avatarEric Van Hensbergen <ericvh@gmail.com>
      
      
      57c7b4e6
    • Eric Van Hensbergen's avatar
      9p: rework client code to use new protocol support functions · 51a87c55
      Eric Van Hensbergen authored
      
      
      Now that the new protocol functions are in place, this patch switches
      the client code to using the new support code.
      Signed-off-by: default avatarEric Van Hensbergen <ericvh@gmail.com>
      
      
      51a87c55
  15. 24 Sep, 2008 1 commit
  16. 03 Jul, 2008 1 commit
    • Eric Van Hensbergen's avatar
      9p: fix O_APPEND in legacy mode · 2e4bef41
      Eric Van Hensbergen authored
      
      
      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: default avatarEric Van Hensbergen <ericvh@gmail.com>
      2e4bef41
  17. 14 May, 2008 1 commit
  18. 07 Feb, 2008 1 commit
  19. 06 Feb, 2008 1 commit
  20. 23 Oct, 2007 1 commit
  21. 17 Oct, 2007 3 commits
    • Latchesar Ionkov's avatar
      9p: attach-per-user · ba17674f
      Latchesar Ionkov authored
      
      
      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: default avatarLatchesar Ionkov <lucho@ionkov.net>
      Signed-off-by: default avatarEric Van Hensbergen <ericvh@gmail.com>
      ba17674f
    • Latchesar Ionkov's avatar
      9p: rename uid and gid parameters · bd32b82d
      Latchesar Ionkov authored
      
      
      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: default avatarLatchesar Ionkov <lucho@ionkov.net>
      Signed-off-by: default avatarEric Van Hensbergen <ericvh@gmail.com>
      bd32b82d
    • Latchesar Ionkov's avatar
      9p: define session flags · 2405669b
      Latchesar Ionkov authored
      
      
      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: default avatarLatchesar Ionkov <lucho@ionkov.net>
      Signed-off-by: default avatarEric Van Hensbergen <ericvh@gmail.com>
      2405669b
  22. 14 Jul, 2007 2 commits
  23. 21 May, 2007 1 commit
    • Alexey Dobriyan's avatar
      Detach sched.h from mm.h · e8edc6e0
      Alexey Dobriyan authored
      
      
      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: default avatarAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e8edc6e0