From: Andrew Morton <akpm@osdl.org>
To: cmm@us.ibm.com
Cc: efault@gmx.de, linux-kernel@vger.kernel.org
Subject: Re: oops in ext3_discard_reservation()
Date: Fri, 17 Mar 2006 11:35:21 -0800 [thread overview]
Message-ID: <20060317113521.7861167d.akpm@osdl.org> (raw)
In-Reply-To: <1142615381.4545.10.camel@localhost.localdomain>
Mingming Cao <cmm@us.ibm.com> wrote:
>
> > It died in rsv_is_empty(), accessing rsv->_rsv_end, because `block_i' has a
> > value of 0x00010000.
> >
> > Looks like a bitflip. How good is that hardware?
>
> I am not sure what is happening.
Sorry, I cc'ed you, then worked out what happened then forgot to un-cc you.
It looks like Mike's machine suffered a single-bit hardware error.
> Smells like another race between two
> reservation window freeing. I thought we have thought this through quite
> well last year but maybe not.:(
>
> In general, the reservation window allocating and freeing should be
> protected by a semaphore, so that we will not run into the case where we
> are trying to free a window, while another thread is in the middle of
> window-freed-and-then-re-allocating. But in the path of
> ext3_delete_inode()->clear_inode()->ext3_clear_inode()-
> >ext3_discard_reservation(), since it's only called at the last input(),
> so this race seems not exists.
Yes, it looks OK.
> But with the path of invalidate_inodes->dispose_list->clear_inode-
> >ext3_discard_inode, I guess it is still possible that another thread is
> in the middle of block allocation, who just freed the current window and
> is about to allocating a new window?
The inode shootdown logic is quite gruesome, but we'd have heard about it
if it was possible for block allocation to be happening while an inode has
I_FREEING set. Various things in fs/inode.c would explode.
prev parent reply other threads:[~2006-03-17 19:38 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-17 6:32 oops in ext3_discard_reservation() Mike Galbraith
2006-03-17 11:51 ` Andrew Morton
2006-03-17 12:03 ` Mike Galbraith
2006-03-17 17:09 ` Mingming Cao
2006-03-17 19:35 ` Andrew Morton [this message]
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=20060317113521.7861167d.akpm@osdl.org \
--to=akpm@osdl.org \
--cc=cmm@us.ibm.com \
--cc=efault@gmx.de \
--cc=linux-kernel@vger.kernel.org \
/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.