[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110112172646.GB13496@thunk.org>
Date: Wed, 12 Jan 2011 12:26:46 -0500
From: Ted Ts'o <tytso@....edu>
To: Sebastian Ott <sebott@...ux.vnet.ibm.com>
Cc: linux-ext4@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: Oops while going into hibernate
Since I don't have a machine set up to test hibernation easily at
hand, I'd really appreciate it if you could try this patch to
determine which inode had the NULL jinode --- and then once you get
the device and inode number, to use debugfs's "ncheck" command to map
the inode number to a pathname.
If you could do that, it would be a huge help.
Thanks, regards,
- Ted
P.S. Also, if you could try suspending once or twice, with different
programs running, to see if the inode number and pathname are constant
or vary, that would also be helpful.
diff --git a/fs/ext4/ext4_jbd2.h b/fs/ext4/ext4_jbd2.h
index d8b992e..7d6d7d7 100644
--- a/fs/ext4/ext4_jbd2.h
+++ b/fs/ext4/ext4_jbd2.h
@@ -252,8 +252,15 @@ static inline int ext4_journal_force_commit(journal_t *journal)
static inline int ext4_jbd2_file_inode(handle_t *handle, struct inode *inode)
{
- if (ext4_handle_valid(handle))
+ if (ext4_handle_valid(handle)) {
+ if (unlikely(EXT4_I(inode)->jinode == NULL)) {
+ /* Should never happen */
+ ext4_msg(inode->i_sb, KERN_CRIT,
+ "inode #%lu has NULL jinode", inode->i_ino);
+ BUG();
+ }
return jbd2_journal_file_inode(handle, EXT4_I(inode)->jinode);
+ }
return 0;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists