1. 10 3月, 2011 1 次提交
  2. 17 12月, 2010 2 次提交
  3. 23 11月, 2010 5 次提交
  4. 26 10月, 2010 1 次提交
  5. 14 10月, 2010 3 次提交
    • C
      hfsplus: create correct initial catalog entries for device files · 90e61690
      Christoph Hellwig 提交于
      Make sure the initial insertation of the catalog entry already contains
      the device number by calling init_special_inode early and setting writing
      out the dev field of the on-disk permission structure.  The latter is
      facilitated by sharing the almost identical hfsplus_set_perms helpers
      between initial catalog entry creating and ->write_inode.
      
      Unless we crashed just after mknod this bug was harmless as the inode
      is marked dirty at the end of hfsplus_mknod, and hfsplus_write_inode
      will update the catalog entry to contain the correct value.
      Signed-off-by: NChristoph Hellwig <hch@tuxera.com>
      90e61690
    • C
      hfsplus: remove superflous rootflags field in hfsplus_inode_info · 722c55d1
      Christoph Hellwig 提交于
      The rootflags field in hfsplus_inode_info only caches the immutable and
      append-only flags in the VFS inode, so we can easily get rid of it.
      Signed-off-by: NChristoph Hellwig <hch@tuxera.com>
      722c55d1
    • C
      hfsplus: fix link corruption · f6089ff8
      Christoph Hellwig 提交于
      HFS implements hardlink by using indirect catalog entries that refer to a hidden
      directly.  The link target is cached in the dev field in the HFS+ specific
      inode, which is also used for the device number for device files, and inside
      for passing the nlink value of the indirect node from hfsplus_cat_write_inode
      to a helper function.  Now if we happen to write out the indirect node while
      hfsplus_link is creating the catalog entry we'll get a link pointing to the
      linkid of the current nlink value.  This can easily be reproduced by a large
      enough loop of local git-clone operations.
      
      Stop abusing the dev field in the HFS+ inode for short term storage by
      refactoring the way the permission structure in the catalog entry is
      set up, and rename the dev field to linkid to avoid any confusion.
      
      While we're at it also prevent creating hard links to special files, as
      the HFS+ dev and linkid share the same space in the on-disk structure.
      Signed-off-by: NChristoph Hellwig <hch@tuxera.com>
      f6089ff8
  6. 01 10月, 2010 3 次提交
    • C
      hfsplus: remove the rsrc_inodes list · 58a818f5
      Christoph Hellwig 提交于
      We never walk the list - the only reason for it is to make the resource fork
      inodes appear hashed to the writeback code.  Borrow a trick from JFS to do
      that without needing a list head.
      Signed-off-by: NChristoph Hellwig <hch@tuxera.com>
      58a818f5
    • C
      hfsplus: fix HFSPLUS_I calling convention · 6af502de
      Christoph Hellwig 提交于
      HFSPLUS_I doesn't return a pointer to the hfsplus-specific inode
      information like all other FOO_I macros, but dereference the pointer in a way
      that made it look like a direct struct derefence.  This only works as long
      as the HFSPLUS_I macro is used directly and prevents us from keepig a local
      hfsplus_inode_info pointer.  Fix the calling convention and introduce a local
      hip variable in all functions that use it constantly.
      Signed-off-by: NChristoph Hellwig <hch@tuxera.com>
      6af502de
    • C
      hfsplus: fix HFSPLUS_SB calling convention · dd73a01a
      Christoph Hellwig 提交于
      HFSPLUS_SB doesn't return a pointer to the hfsplus-specific superblock
      information like all other FOO_SB macros, but dereference the pointer in a way
      that made it look like a direct struct derefence.  This only works as long
      as the HFSPLUS_SB macro is used directly and prevents us from keepig a local
      hfsplus_sb_info pointer.  Fix the calling convention and introduce a local
      sbi variable in all functions that use it constantly.
      Signed-off-by: NChristoph Hellwig <hch@tuxera.com>
      dd73a01a
  7. 10 8月, 2010 5 次提交
  8. 17 5月, 2010 1 次提交
  9. 28 3月, 2009 1 次提交
  10. 14 11月, 2008 1 次提交
  11. 23 10月, 2008 1 次提交
    • M
      [PATCH] move executable checking into ->permission() · f696a365
      Miklos Szeredi 提交于
      For execute permission on a regular files we need to check if file has
      any execute bits at all, regardless of capabilites.
      
      This check is normally performed by generic_permission() but was also
      added to the case when the filesystem defines its own ->permission()
      method.  In the latter case the filesystem should be responsible for
      performing this check.
      
      Move the check from inode_permission() inside filesystems which are
      not calling generic_permission().
      
      Create a helper function execute_ok() that returns true if the inode
      is a directory or if any execute bits are present in i_mode.
      
      Also fix up the following code:
      
       - coda control file is never executable
       - sysctl files are never executable
       - hfs_permission seems broken on MAY_EXEC, remove
       - hfsplus_permission is eqivalent to generic_permission(), remove
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      f696a365
  12. 20 10月, 2008 1 次提交
  13. 27 7月, 2008 2 次提交
    • A
      [PATCH] f_count may wrap around · 516e0cc5
      Al Viro 提交于
      make it atomic_long_t; while we are at it, get rid of useless checks in affs,
      hfs and hpfs - ->open() always has it equal to 1, ->release() - to 0.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      516e0cc5
    • A
      [PATCH] sanitize ->permission() prototype · e6305c43
      Al Viro 提交于
      * kill nameidata * argument; map the 3 bits in ->flags anybody cares
        about to new MAY_... ones and pass with the mask.
      * kill redundant gfs2_iop_permission()
      * sanitize ecryptfs_permission()
      * fix remaining places where ->permission() instances might barf on new
        MAY_... found in mask.
      
      The obvious next target in that direction is permission(9)
      
      folded fix for nfs_permission() breakage from Miklos Szeredi <mszeredi@suse.cz>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      e6305c43
  14. 26 7月, 2008 1 次提交
  15. 13 5月, 2008 1 次提交
  16. 29 4月, 2008 1 次提交
  17. 17 10月, 2007 1 次提交
  18. 17 7月, 2007 1 次提交
  19. 10 7月, 2007 1 次提交
  20. 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
  21. 13 2月, 2007 1 次提交
  22. 09 12月, 2006 1 次提交
  23. 01 10月, 2006 1 次提交
  24. 27 9月, 2006 1 次提交
  25. 29 6月, 2006 1 次提交
  26. 29 3月, 2006 1 次提交