lkml.org 
[lkml]   [2011]   [Jan]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: 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;
}


\
 
 \ /
  Last update: 2011-01-12 18:29    [from the cache]
©2003-2011 Jasper Spaans