1. 12 6月, 2009 3 次提交
    • A
      Push lock_super() into the ->remount_fs() of filesystems that care about it · bbd6851a
      Al Viro 提交于
      Note that since we can't run into contention between remount_fs and write_super
      (due to exclusion on s_umount), we have to care only about filesystems that
      touch lock_super() on their own.  Out of those ext3, ext4, hpfs, sysv and ufs
      do need it; fat doesn't since its ->remount_fs() only accesses assign-once
      data (basically, it's "we have no atime on directories and only have atime on
      files for vfat; force nodiratime and possibly noatime into *flags").
      
      [folded a build fix from hch]
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      bbd6851a
    • C
      push BKL down into ->put_super · 6cfd0148
      Christoph Hellwig 提交于
      Move BKL into ->put_super from the only caller.  A couple of
      filesystems had trivial enough ->put_super (only kfree and NULLing of
      s_fs_info + stuff in there) to not get any locking: coda, cramfs, efs,
      hugetlbfs, omfs, qnx4, shmem, all others got the full treatment.  Most
      of them probably don't need it, but I'd rather sort that out individually.
      Preferably after all the other BKL pushdowns in that area.
      
      [AV: original used to move lock_super() down as well; these changes are
      removed since we don't do lock_super() at all in generic_shutdown_super()
      now]
      [AV: fuse, btrfs and xfs are known to need no damn BKL, exempt]
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      6cfd0148
    • C
      remove ->write_super call in generic_shutdown_super · 8c85e125
      Christoph Hellwig 提交于
      We just did a full fs writeout using sync_filesystem before, and if
      that's not enough for the filesystem it can perform it's own writeout
      in ->put_super, which many filesystems already do.
      
      Move a call to foofs_write_super into every foofs_put_super for now to
      guarantee identical behaviour until it's cleaned up by the individual
      filesystem maintainers.
      
      Exceptions:
      
       - affs already has identical copy & pasted code at the beginning of
         affs_put_super so no need to do it twice.
       - xfs does the right thing without it and I have changes pending for
         the xfs tree touching this are so I don't really need conflicts
         here..
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      8c85e125
  2. 03 4月, 2009 1 次提交
  3. 28 3月, 2009 1 次提交
  4. 23 3月, 2009 1 次提交
  5. 14 10月, 2008 1 次提交
  6. 05 8月, 2008 1 次提交
  7. 27 7月, 2008 1 次提交
  8. 26 7月, 2008 1 次提交
  9. 25 7月, 2008 1 次提交
  10. 09 2月, 2008 2 次提交
  11. 08 2月, 2008 1 次提交
  12. 06 12月, 2007 1 次提交
  13. 30 10月, 2007 1 次提交
  14. 17 10月, 2007 5 次提交
  15. 25 9月, 2007 1 次提交
  16. 20 7月, 2007 1 次提交
    • P
      mm: Remove slab destructors from kmem_cache_create(). · 20c2df83
      Paul Mundt 提交于
      Slab destructors were no longer supported after Christoph's
      c59def9f change. They've been
      BUGs for both slab and slub, and slob never supported them
      either.
      
      This rips out support for the dtor pointer from kmem_cache_create()
      completely and fixes up every single callsite in the kernel (there were
      about 224, not including the slab allocator definitions themselves,
      or the documentation references).
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      20c2df83
  17. 17 7月, 2007 1 次提交
  18. 17 5月, 2007 1 次提交
    • C
      Remove SLAB_CTOR_CONSTRUCTOR · a35afb83
      Christoph Lameter 提交于
      SLAB_CTOR_CONSTRUCTOR is always specified. No point in checking it.
      Signed-off-by: NChristoph Lameter <clameter@sgi.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      Cc: Steven French <sfrench@us.ibm.com>
      Cc: Michael Halcrow <mhalcrow@us.ibm.com>
      Cc: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
      Cc: Miklos Szeredi <miklos@szeredi.hu>
      Cc: Steven Whitehouse <swhiteho@redhat.com>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Dave Kleikamp <shaggy@austin.ibm.com>
      Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
      Cc: "J. Bruce Fields" <bfields@fieldses.org>
      Cc: Anton Altaparmakov <aia21@cantab.net>
      Cc: Mark Fasheh <mark.fasheh@oracle.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Jan Kara <jack@ucw.cz>
      Cc: David Chinner <dgc@sgi.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a35afb83
  19. 08 5月, 2007 1 次提交
    • C
      slab allocators: Remove SLAB_DEBUG_INITIAL flag · 50953fe9
      Christoph Lameter 提交于
      I have never seen a use of SLAB_DEBUG_INITIAL.  It is only supported by
      SLAB.
      
      I think its purpose was to have a callback after an object has been freed
      to verify that the state is the constructor state again?  The callback is
      performed before each freeing of an object.
      
      I would think that it is much easier to check the object state manually
      before the free.  That also places the check near the code object
      manipulation of the object.
      
      Also the SLAB_DEBUG_INITIAL callback is only performed if the kernel was
      compiled with SLAB debugging on.  If there would be code in a constructor
      handling SLAB_DEBUG_INITIAL then it would have to be conditional on
      SLAB_DEBUG otherwise it would just be dead code.  But there is no such code
      in the kernel.  I think SLUB_DEBUG_INITIAL is too problematic to make real
      use of, difficult to understand and there are easier ways to accomplish the
      same effect (i.e.  add debug code before kfree).
      
      There is a related flag SLAB_CTOR_VERIFY that is frequently checked to be
      clear in fs inode caches.  Remove the pointless checks (they would even be
      pointless without removeal of SLAB_DEBUG_INITIAL) from the fs constructors.
      
      This is the last slab flag that SLUB did not support.  Remove the check for
      unimplemented flags from SLUB.
      Signed-off-by: NChristoph Lameter <clameter@sgi.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      50953fe9
  20. 13 2月, 2007 3 次提交
  21. 10 2月, 2007 1 次提交
    • E
      [PATCH] ufs: restore back support of openstep · f336953b
      Evgeniy Dushistov 提交于
      This is a fix of regression, which triggered by ~2.6.16.
      
      Patch with name ufs-directory-and-page-cache-from-blocks-to-pages.patch: in
      additional to conversation from block to page cache mechanism added new
      checks of directory integrity, one of them that directory entry do not
      across directory chunks.
      
      But some kinds of UFS: OpenStep UFS and Apple UFS (looks like these are the
      same filesystems) have different directory chunk size, then common
      UFSes(BSD and Solaris UFS).
      
      So this patch adds ability to works with variable size of directory chunks,
      and set it for ufstype=openstep to right size.
      
      Tested on darwin ufs.
      Signed-off-by: NEvgeniy Dushistov <dushistov@mail.ru>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f336953b
  22. 08 12月, 2006 3 次提交
  23. 27 9月, 2006 2 次提交
  24. 04 7月, 2006 1 次提交
    • A
      [PATCH] lockdep: annotate the quota code · 5c81a419
      Arjan van de Ven 提交于
      The quota code plays interesting games with the lock ordering; to quote Jan:
      
      | i_mutex of inode containing quota file is acquired after all other
      | quota locks. i_mutex of all other inodes is acquired before quota
      | locks. Quota code makes sure (by resetting inode operations and
      | setting special flag on inode) that noone tries to enter quota code
      | while holding i_mutex on a quota file...
      
      The good news is that all of this special case i_mutex grabbing happens in the
      (per filesystem) low level quota write function.  For this special case we
      need a new I_MUTEX_* nesting level, since this just entirely outside any of
      the regular VFS locking rules for i_mutex.  I trust Jan on his blue eyes that
      this is not ever going to deadlock; and based on that the patch below is what
      it takes to inform lockdep of these very interesting new locking rules.
      
      The new locking rule for the I_MUTEX_QUOTA nesting level is that this is the
      deepest possible level of nesting for i_mutex, and that this only should be
      used in quota write (and possibly read) function of filesystems.  This makes
      the lock ordering of the I_MUTEX_* levels:
      
      I_MUTEX_PARENT -> I_MUTEX_CHILD -> I_MUTEX_NORMAL -> I_MUTEX_QUOTA
      
      Has no effect on non-lockdep kernels.
      Signed-off-by: NArjan van de Ven <arjan@linux.intel.com>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Cc: Jan Kara <jack@ucw.cz>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      5c81a419
  25. 01 7月, 2006 1 次提交
  26. 26 6月, 2006 3 次提交
    • E
      [PATCH] ufs: make fsck -f happy · ee3ffd6c
      Evgeniy Dushistov 提交于
      ufs super block contains some statistic about file systems, like amount of
      directories, free blocks, inodes and so on.
      
      UFS1 hold this information in one location and uses 32bit integers for such
      information, UFS2 hold statistic in another location and uses 64bit integers.
      
      There is transition variant, if UFS1 has type 44BSD and flags field in super
      block has some special value this mean that we work with statistic like UFS2
      does.  and this also means that nobody care about old(UFS1) statistic.
      
      So if start fsck against such file system, after usage linux ufs driver, it
      found error: at now only UFS1 like statistic is updated.
      
      This patch should fix this.  Also it contains some minor cleanup: CodingSytle
      and remove unused variables.
      Signed-off-by: NEvgeniy Dushistov <dushistov@mail.ru>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ee3ffd6c
    • E
      [PATCH] ufs: one way to access super block · 647b7e87
      Evgeniy Dushistov 提交于
      Super block of UFS usually has size >512, because of fragment size may be 512,
      this cause some problems.
      
      Currently, there are two methods to work with ufs super block:
      
      1) split structure which describes ufs super blocks into structures with
         size <=512
      
      2) use one structure which describes ufs super block, and hope that array
         of "buffer_head" which holds "super block", has such construction:
      
      	bh[n]->b_data + bh[n]->b_size == bh[n + 1]->b_data
      
      The second variant may cause some problems in the future, and usage of two
      variants cause unnecessary code duplication.
      
      This patch remove the second variant.  Also patch contains some CodingStyle
      fixes.
      Signed-off-by: NEvgeniy Dushistov <dushistov@mail.ru>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      647b7e87
    • A
      [PATCH] ufs: printk warning fixes · 96710b29
      Andrew Morton 提交于
      fs/ufs/super.c: In function `ufs_print_super_stuff':
      fs/ufs/super.c:103: warning: unsigned int format, different type arg (arg 2)    fs/ufs/super.c: In function `ufs2_print_super_stuff':                           fs/ufs/super.c:147: warning: unsigned int format, different type arg (arg 2)    fs/ufs/super.c: In function `ufs_print_cylinder_stuff':
      fs/ufs/super.c:175: warning: unsigned int format, different type arg (arg 2)
      
      Cc: Evgeniy Dushistov <dushistov@mail.ru>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      96710b29