1. 13 2月, 2007 1 次提交
  2. 27 1月, 2007 1 次提交
    • D
      JFS: Remove incorrect kgdb define · 7220c017
      Dave Kleikamp 提交于
      jfs_debug.h uses an incorrect CONFIG_KERNEL_ASSERT ifdef to redefine the
      assert macro for kgdb use.  I believe the code worked a long time ago, but
      today it's not a valid config option.  Since I'm not aware of anybody
      interested in debugging jfs with kgdb, it should just be removed.
      
      Thanks to Robert P. J. Day for reporting this.
      Signed-off-by: NDave Kleikamp <shaggy@austin.ibm.com>
      7220c017
  3. 18 1月, 2007 1 次提交
    • D
      JFS: call io_schedule() instead of schedule() to avoid deadlock · 4aa0d230
      Dave Kleikamp 提交于
      The introduction of Jens Axboe's explicit i/o plugging patches introduced a
      deadlock in jfs.  This was caused by the process initiating I/O not
      unplugging the queue before waiting on the commit thread.  The commit
      thread itself was waiting for that I/O to complete.  Calling io_schedule()
      rather than schedule() unplugs the I/O queue avoiding the deadlock, and it
      appears to be the right function to call in any case.
      Signed-off-by: NDave Kleikamp <shaggy@austin.ibm.com>
      4aa0d230
  4. 10 1月, 2007 1 次提交
  5. 09 1月, 2007 1 次提交
    • D
      JFS: Avoid BUG() on a damaged file system · 17e6afc7
      Dave Kleikamp 提交于
      On Mon, 2006-12-18 at 19:51 +0100, Eric Sesterhenn wrote:
      > hi,
      >
      > while playing around with fsfuzzer, i got the following oops with jfs:
      >
      > [  851.804875] BUG at fs/jfs/jfs_xtree.c:760
      > assert(!BT_STACK_FULL(btstack))
      > [  851.805179] ------------[ cut here ]------------
      > [  851.805238] kernel BUG at fs/jfs/jfs_xtree.c:760!
      
      JFS should mark the superblock dirty and return an error rather than
      calling BUG().
      Signed-off-by: NDave Kleikamp <shaggy@austin.ibm.com>
      17e6afc7
  6. 22 12月, 2006 1 次提交
    • D
      [PATCH] Fix JFS after clear_page_dirty() removal · d0e671a9
      Dave Kleikamp 提交于
      This patch removes some questionable code that attempted to make a
      no-longer-used page easier to reclaim.
      
      Calling metapage_writepage against such a page will not result in any
      I/O being performed, so removing this code shouldn't be a big deal.
      
      [ It's likely that we could have just replaced the "clear_page_dirty()"
        call with a call to "cancel_dirty_page()" instead, but in the
        meantime this is cleaner and simpler anyway, so unless there is some
        overriding reason (and Dave implies there isn't) I'll just use this
        patch as-is.			- Linus ]
      Signed-off-by: NDave Kleikamp <shaggy@linux.vnet.ibm.com>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      d0e671a9
  7. 14 12月, 2006 1 次提交
    • R
      [PATCH] getting rid of all casts of k[cmz]alloc() calls · 5cbded58
      Robert P. J. Day 提交于
      Run this:
      
      	#!/bin/sh
      	for f in $(grep -Erl "\([^\)]*\) *k[cmz]alloc" *) ; do
      	  echo "De-casting $f..."
      	  perl -pi -e "s/ ?= ?\([^\)]*\) *(k[cmz]alloc) *\(/ = \1\(/" $f
      	done
      
      And then go through and reinstate those cases where code is casting pointers
      to non-pointers.
      
      And then drop a few hunks which conflicted with outstanding work.
      
      Cc: Russell King <rmk@arm.linux.org.uk>, Ian Molton <spyro@f2s.com>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Greg KH <greg@kroah.com>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      Cc: Paul Fulghum <paulkf@microgate.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Karsten Keil <kkeil@suse.de>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: James Bottomley <James.Bottomley@steeleye.com>
      Cc: Ian Kent <raven@themaw.net>
      Cc: Steven French <sfrench@us.ibm.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Neil Brown <neilb@cse.unsw.edu.au>
      Cc: Jaroslav Kysela <perex@suse.cz>
      Cc: Takashi Iwai <tiwai@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      5cbded58
  8. 09 12月, 2006 1 次提交
  9. 08 12月, 2006 3 次提交
  10. 07 12月, 2006 1 次提交
  11. 04 12月, 2006 1 次提交
  12. 30 11月, 2006 1 次提交
  13. 03 11月, 2006 1 次提交
  14. 31 10月, 2006 1 次提交
  15. 14 10月, 2006 1 次提交
  16. 02 10月, 2006 3 次提交
  17. 01 10月, 2006 7 次提交
  18. 27 9月, 2006 2 次提交
  19. 28 7月, 2006 1 次提交
  20. 27 7月, 2006 1 次提交
  21. 01 7月, 2006 2 次提交
  22. 29 6月, 2006 1 次提交
  23. 27 6月, 2006 1 次提交
  24. 23 6月, 2006 3 次提交
    • P
      [PATCH] read_mapping_page for address space · 090d2b18
      Pekka Enberg 提交于
      Add read_mapping_page() which is used for callers that pass
      mapping->a_ops->readpage as the filler for read_cache_page.  This removes
      some duplication from filesystem code.
      Signed-off-by: NPekka Enberg <penberg@cs.helsinki.fi>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      090d2b18
    • D
      [PATCH] VFS: Permit filesystem to perform statfs with a known root dentry · 726c3342
      David Howells 提交于
      Give the statfs superblock operation a dentry pointer rather than a superblock
      pointer.
      
      This complements the get_sb() patch.  That reduced the significance of
      sb->s_root, allowing NFS to place a fake root there.  However, NFS does
      require a dentry to use as a target for the statfs operation.  This permits
      the root in the vfsmount to be used instead.
      
      linux/mount.h has been added where necessary to make allyesconfig build
      successfully.
      
      Interest has also been expressed for use with the FUSE and XFS filesystems.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Acked-by: NAl Viro <viro@zeniv.linux.org.uk>
      Cc: Nathan Scott <nathans@sgi.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      726c3342
    • D
      [PATCH] VFS: Permit filesystem to override root dentry on mount · 454e2398
      David Howells 提交于
      Extend the get_sb() filesystem operation to take an extra argument that
      permits the VFS to pass in the target vfsmount that defines the mountpoint.
      
      The filesystem is then required to manually set the superblock and root dentry
      pointers.  For most filesystems, this should be done with simple_set_mnt()
      which will set the superblock pointer and then set the root dentry to the
      superblock's s_root (as per the old default behaviour).
      
      The get_sb() op now returns an integer as there's now no need to return the
      superblock pointer.
      
      This patch permits a superblock to be implicitly shared amongst several mount
      points, such as can be done with NFS to avoid potential inode aliasing.  In
      such a case, simple_set_mnt() would not be called, and instead the mnt_root
      and mnt_sb would be set directly.
      
      The patch also makes the following changes:
      
       (*) the get_sb_*() convenience functions in the core kernel now take a vfsmount
           pointer argument and return an integer, so most filesystems have to change
           very little.
      
       (*) If one of the convenience function is not used, then get_sb() should
           normally call simple_set_mnt() to instantiate the vfsmount. This will
           always return 0, and so can be tail-called from get_sb().
      
       (*) generic_shutdown_super() now calls shrink_dcache_sb() to clean up the
           dcache upon superblock destruction rather than shrink_dcache_anon().
      
           This is required because the superblock may now have multiple trees that
           aren't actually bound to s_root, but that still need to be cleaned up. The
           currently called functions assume that the whole tree is rooted at s_root,
           and that anonymous dentries are not the roots of trees which results in
           dentries being left unculled.
      
           However, with the way NFS superblock sharing are currently set to be
           implemented, these assumptions are violated: the root of the filesystem is
           simply a dummy dentry and inode (the real inode for '/' may well be
           inaccessible), and all the vfsmounts are rooted on anonymous[*] dentries
           with child trees.
      
           [*] Anonymous until discovered from another tree.
      
       (*) The documentation has been adjusted, including the additional bit of
           changing ext2_* into foo_* in the documentation.
      
      [akpm@osdl.org: convert ipath_fs, do other stuff]
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Acked-by: NAl Viro <viro@zeniv.linux.org.uk>
      Cc: Nathan Scott <nathans@sgi.com>
      Cc: Roland Dreier <rolandd@cisco.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      454e2398
  25. 05 6月, 2006 1 次提交
  26. 24 5月, 2006 1 次提交
    • D
      JFS: Fix multiple errors in metapage_releasepage · b964638f
      Dave Kleikamp 提交于
      It looks like metapage_releasepage was making in invalid assumption that
      the releasepage method would not be called on a dirty page.  Instead of
      issuing a warning and releasing the metapage, it should return 0, indicating
      that the private data for the page cannot be released.
      
      I also realized that metapage_releasepage had the return code all wrong.  If
      it is successful in releasing the private data, it should return 1, otherwise
      it needs to return 0.
      
      Lastly, there is no need to call wait_on_page_writeback, since
      try_to_release_page will not call us with a page in writback state.
      Signed-off-by: NDave Kleikamp <shaggy@austin.ibm.com>
      b964638f