All of lore.kernel.org
 help / color / mirror / Atom feed
From: Edward Shishkin <edward@namesys.com>
To: Devils-Hawk <devilshawk@aon.at>
Cc: "reiserfs-list@namesys.com" <reiserfs-list@namesys.com>
Subject: Re: reiser4 panic in do_readpage_extent
Date: Sun, 11 Mar 2007 16:49:38 +0300	[thread overview]
Message-ID: <45F408F2.5030003@namesys.com> (raw)
In-Reply-To: <45F1CE6E.7070506@aon.at>

[-- Attachment #1: Type: text/plain, Size: 536 bytes --]

Devils-Hawk wrote:

> The problem still persists also trying to boot multiple times it 
> sometimes triggers much earlier in the boot process than it did before.
>

Hmm.. can not reproduce it..
The attached patch (against reiser4-for-2.6[19, 20]) allows to dump stack
and some useful info noted as edward-200X among other boot messages.
Would you please send it.

Thanks,
Edward.

> regards devh
>
> Edward Shishkin wrote:
>
>>
>> Would you please try the attached patch over reiser4-for-2.6.[19, 20]
>>
>> Thanks,
>> Edward.
>>
>
>
>


[-- Attachment #2: dump_stack.patch --]
[-- Type: text/x-patch, Size: 1556 bytes --]

Handle possible race:
do not proceed uf_readpages_filler if page is already uptodate.
Print debugging info.

Signed-off-by: Edward Shishkin <edward@namesys.com>
---
 linux-2.6.20-mm2/fs/reiser4/plugin/file/file.c            |    4 +++
 linux-2.6.20-mm2/fs/reiser4/plugin/item/extent_file_ops.c |   17 ++++++++++++++
 2 files changed, 21 insertions(+)

--- linux-2.6.20-mm2/fs/reiser4/plugin/file/file.c.orig
+++ linux-2.6.20-mm2/fs/reiser4/plugin/file/file.c
@@ -1619,6 +1619,10 @@
 		lock_page(page);
 		cbk_done = 1;
 	}
+	if (PageUptodate(page)) {
+		unlock_page(page);
+		return 0;
+	}
 	ret = zload(rc->coord.node);
 	if (ret) {
 		unlock_page(page);
--- linux-2.6.20-mm2/fs/reiser4/plugin/item/extent_file_ops.c.orig
+++ linux-2.6.20-mm2/fs/reiser4/plugin/item/extent_file_ops.c
@@ -1157,7 +1157,24 @@
 
 	case UNALLOCATED_EXTENT:
 		j = jfind(mapping, index);
+		if (j == NULL) {
+			dump_stack();
+			printk("edward-2000: oid = %llu\n",
+			       (unsigned long long)oid);
+			printk("edward-2001: Jnode not found\n");
+		}
 		assert("nikita-2688", j);
+		if (jnode_page(j) != NULL) {
+			dump_stack();
+			printk("edward-2002: oid = %llu\n",
+			       (unsigned long long)oid);
+			printk("edward-2003: read page  %p of idx %lu\n",
+			       page, page->index);
+			printk("edward-2004: jnode page %p of idx %lu\n",
+			       jnode_page(j), jnode_page(j)->index);
+			printk("edward-2005: jnode blknr =  %llu\n",
+			       (unsigned long long)(*jnode_get_block(j)));
+		}
 		assert("vs-1426", jnode_page(j) == NULL);
 
 		spin_lock_jnode(j);

  reply	other threads:[~2007-03-11 13:49 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-02 20:28 [PATCH] Reiser4 for 2.6.21-rc1 Laurent Riffard
2007-03-02 20:35 ` Laurent Riffard
2007-03-05 17:20   ` Nicolas STRANSKY
2007-03-05 21:21     ` Laurent Riffard
2007-03-06 16:34       ` Edward Shishkin
2007-03-08 12:17         ` reiser4 panic in do_readpage_extent Devils-Hawk
2007-03-09  1:17           ` Edward Shishkin
2007-03-09 20:36           ` Edward Shishkin
2007-03-09 21:15             ` Devils-Hawk
2007-03-11 13:49               ` Edward Shishkin [this message]
     [not found] ` <20070306092107.GA13707@zeus.uziel.local>
2007-03-06 23:19   ` [PATCH] Reiser4 for 2.6.21-rc1 Laurent Riffard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=45F408F2.5030003@namesys.com \
    --to=edward@namesys.com \
    --cc=devilshawk@aon.at \
    --cc=reiserfs-list@namesys.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.