Re: Oops while going into hibernate

From: Sebastian Ott
Date: Wed Jan 12 2011 - 12:37:35 EST



On Wed, 12 Jan 2011, Ted Ts'o wrote:
> 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.
ok, will do

>
> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/