From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?B?SsO2cm4=?= Engel Subject: Re: logfs unmount bug Date: Tue, 9 Aug 2011 16:58:12 +0200 Message-ID: <20110809145812.GR26160@logfs.org> References: <20110805160325.GM26160@logfs.org> <20110808083107.GN26160@logfs.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: linux-mtd@lists.infradead.org, linux-fsdevel@vger.kernel.org To: srimugunthan dhandapani Return-path: Received: from [85.183.114.52] ([85.183.114.52]:41505 "EHLO Dublin.logfs.org" rhost-flags-FAIL-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1751149Ab1HIO5o (ORCPT ); Tue, 9 Aug 2011 10:57:44 -0400 Content-Disposition: inline In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Mon, 8 August 2011 20:14:15 +0530, srimugunthan dhandapani wrote: >=20 > > Not good. =C2=A0So far I managed to see a (the?) tiobench bug once,= but > > couldn't make it reproduceable. =C2=A0Nor could I reproduce the bon= nie bug. > > Once the bugs are reproduceable, even my feeble eyes can usually sp= ot > > the cause sooner or later. =C2=A0With a backtrace alone and no idea= what > > internal state it depends on, life is much harder. > > >=20 > I am sorry , i dont know what i am missing. I tried it 5 times. 4/5 > trials, the bonnie test didnt complete. .Even when it completed once, > the logs show kernel bug. Ok, since I cannot reproduce this at all, can you try the patch below? While it may already fix the problem, I am more interested in the output. > do_invalidatepage+0x28/0x30 > truncate_inode_page+0x92/0xb0 > truncate_inode_pages_range+0x177/0x4f0 > truncate_inode_pages+0x15/0x20 > truncate_pagecache+0x4f/0x70 > truncate_setsize+0x1f/0x30 > vmtruncate+0x3e/0x60 > logfs_truncate+0x263/0x2a0 [logfs] > logfs_evict_inode+0xdc/0x190 [logfs] > ? do_raw_spin_unlock+0x5e/0xb0 > evict+0xa9/0x1a0 > iput+0xfd/0x200 J=C3=B6rn --=20 A quarrel is quickly settled when deserted by one party; there is no battle unless there be two. -- Seneca diff --git a/fs/logfs/file.c b/fs/logfs/file.c index f2c08bc..7afd9a7 100644 --- a/fs/logfs/file.c +++ b/fs/logfs/file.c @@ -168,8 +168,14 @@ static void logfs_invalidatepage(struct page *page= , unsigned long offset) struct logfs_super *super =3D logfs_super(sb); =20 super->s_dirty_bytes -=3D block->reserved_bytes; - block->ops->free_block(sb, block); - BUG_ON(bitmap_weight(block->alias_map, LOGFS_BLOCK_FACTOR)); + if (bitmap_weight(block->alias_map, LOGFS_BLOCK_FACTOR)) { + printk(KERN_DEBUG"logfs_invalidatepage(%lx, %x, %llx)\n", + page->mapping->host->i_ino, + page->mapping->host->i_nlink, + page->mapping->host->i_size); + move_page_to_btree(page); + } else + block->ops->free_block(sb, block); } else move_page_to_btree(page); BUG_ON(PagePrivate(page) || page->private); -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel= " in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html