On Fri, 4 April 2008 13:46:00 +0200, Jens Axboe wrote:It sure looks like it. On top, the patch at the bottom seems to solve the deadlock. I'm just not certain it is the right fix for the problem. Sorry, should have sent that right along. [<ffffffff802ca83f>] elv_insert+0x156/0x219 [<ffffffff8037d96d>] __mutex_lock_slowpath+0x57/0x81 [<ffffffff8037d804>] mutex_lock+0xd/0xf [<ffffffff802c07e7>] logfs_get_wblocks+0x33/0x54 [<ffffffff802c025c>] logfs_write_buf+0x3d/0x322 [<ffffffff802bbae0>] __logfs_writepage+0x24/0x67 [<ffffffff802bbbfb>] logfs_writepage+0xd8/0xe3 [<ffffffff8024ba78>] shrink_page_list+0x2ee/0x514 [<ffffffff8024b466>] isolate_lru_pages+0x6c/0x1ff [<ffffffff8024c2a9>] shrink_zone+0x60b/0x85b [<ffffffff802cc0e5>] generic_make_request+0x329/0x364 [<ffffffff80245ea1>] mempool_alloc_slab+0x11/0x13 [<ffffffff802367b3>] up_read+0x9/0xb [<ffffffff8024c638>] shrink_slab+0x13f/0x151 [<ffffffff8024cc1c>] try_to_free_pages+0x111/0x209 [<ffffffff8024859a>] __alloc_pages+0x1b1/0x2f5 [<ffffffff80243f6b>] read_cache_page_async+0x7e/0x15c [<ffffffff8027fba9>] blkdev_readpage+0x0/0x15 [<ffffffff80245612>] read_cache_page+0xe/0x46 [<ffffffff802c2842>] bdev_read+0x61/0xee [<ffffffff802bc741>] __logfs_gc_pass+0x219/0x7dc [<ffffffff802bcd1b>] logfs_gc_pass+0x17/0x19 [<ffffffff802c0798>] logfs_flush_dirty+0x7d/0x99 [<ffffffff802c0800>] logfs_get_wblocks+0x4c/0x54 [<ffffffff802c025c>] logfs_write_buf+0x3d/0x322 [<ffffffff802bbe1e>] logfs_commit_write+0x77/0x7d [<ffffffff80244ec2>] generic_file_buffered_write+0x49d/0x62c [<ffffffff802704da>] file_update_time+0x7f/0xad [<ffffffff802453a5>] __generic_file_aio_write_nolock+0x354/0x3be [<ffffffff80237077>] atomic_notifier_call_chain+0xf/0x11 [<ffffffff80245abb>] filemap_fault+0x1b4/0x320 [<ffffffff80245473>] generic_file_aio_write+0x64/0xc0 [<ffffffff8025ebc8>] do_sync_write+0xe2/0x126 [<ffffffff80224b4f>] release_console_sem+0x1a0/0x1a9 [<ffffffff802344f4>] autoremove_wake_function+0x0/0x38 [<ffffffff802ef6f3>] tty_write+0x1f2/0x20d [<ffffffff802f1914>] write_chan+0x0/0x334 [<ffffffff8025f351>] vfs_write+0xae/0x137 [<ffffffff8025f824>] sys_write+0x47/0x6f [<ffffffff802191c2>] ia32_sysret+0x0/0xa Jörn -- Joern's library part 10: http://blogs.msdn.com/David_Gristwood/archive/2004/06/24/164849.aspx Signed-off-by: Joern Engel <joern@logfs.org> fs/block_dev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- linux-2.6.24logfs/fs/block_dev.c~blockdev_nofs 2008-04-07 10:19:08.627413077 +0200 +++ linux-2.6.24logfs/fs/block_dev.c 2008-04-07 10:20:56.927117162 +0200 @@ -586,7 +586,7 @@ struct block_device *bdget(dev_t dev) inode->i_rdev = dev; inode->i_bdev = bdev; inode->i_data.a_ops = &def_blk_aops; - mapping_set_gfp_mask(&inode->i_data, GFP_USER); + mapping_set_gfp_mask(&inode->i_data, GFP_USER & ~__GFP_FS); inode->i_data.backing_dev_info = &default_backing_dev_info; spin_lock(&bdev_lock); list_add(&bdev->bd_list, &all_bdevs); --
| david | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| David Woodhouse | [GIT *] Allow request_firmware() to be satisfied from in-kernel, use it in more dr... |
| Philipp Marek | Re: sys_chroot+sys_fchdir Fix |
| Greg Kroah-Hartman | [PATCH 008/196] Chinese: add translation of volatile-considered-harmful.txt |
git: | |
| Krishna Kumar | [PATCH 9/10 REV5] [IPoIB] Implement batching |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Miller | [GIT]: Networking |
