On Fri, Apr 29, 2011 at 8:02 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
Wait a bit; _can_ we get there with non-NULL ->s_master_inode et.al.?
iput(NULL) is a noop... I don't think so, since logfs_init_journal()
is not called until after we initialize that list.
Not that I'd object against taking that initialization earlier, of course,
but there seems to be something else going on... Which iput() it is?
Not something I can guess from the oops, sadly. Gcc has inlined
everything into logfs_mount, and the "0x44f/0x5cc" offset isn't very
helpful (with the same compiler version and config options it would be
possible to figure it out).
But looking at it, logfs_init_mapping() is currently called before
"s_freeing_list" is initialized, and it sets up at least
s_mapping_inode. So if anything fails between that point and the point
where we initialize s_freeing_list, I think we're toast.
I didn't check the other inodes, but at least that one does seem to be
potentially non-NULL. No?
Linus
Attachment:
config-2.6.39-rc5-git2-i486-1sys.bz2
Description: Binary data
Attachment:
linux-2.6.39-rc5-git2-i486-1sys.log.bz2
Description: Binary data
Attachment:
Foto0049.jpg
Description: JPEG image