public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Badari Pulavarty <pbadari@us.ibm.com>
Cc: Andrew Morton <akpm@osdl.org>,
	lkml <linux-kernel@vger.kernel.org>,
	ak@suse.de, cmm@us.ibm.com
Subject: Re: [discuss] Re: 2.6.16-rc5-mm3: spinlock bad magic on CPU#0 on AMD64
Date: Mon, 13 Mar 2006 19:12:09 +0100	[thread overview]
Message-ID: <200603131912.10356.rjw@sisk.pl> (raw)
In-Reply-To: <1142265735.21442.51.camel@dyn9047017100.beaverton.ibm.com>

On Monday 13 March 2006 17:02, Badari Pulavarty wrote:
> On Mon, 2006-03-13 at 13:07 +0100, Rafael J. Wysocki wrote:
> > On Monday 13 March 2006 12:45, Andrew Morton wrote:
> > > "Rafael J. Wysocki" <rjw@sisk.pl> wrote:
> > > >
> > > > > This should fix:
> > > >  > 
> > > >  > --- devel/fs/ext3/inode.c~ext3-get-blocks-maping-multiple-blocks-at-a-once-journal-reentry-fix	2006-03-12 14:25:04.000000000 -0800
> > > >  > +++ devel-akpm/fs/ext3/inode.c	2006-03-12 14:25:04.000000000 -0800
> > > >  > @@ -830,7 +830,7 @@ ext3_direct_io_get_blocks(struct inode *
> > > >  >  	handle_t *handle = journal_current_handle();
> > > >  >  	int ret = 0;
> > > >  >  
> > > >  > -	if (!handle)
> > > >  > +	if (!create)
> > > >  >  		goto get_block;		/* A read */
> > > >  >  
> > > >  >  	if (max_blocks == 1)
> > > > 
> > > >  Er, it doesn't apply to either 2.6.16-rc5-mm3 or 2.6.16-rc6-mm1.
> > > 
> > > Nope, it applies OK to rc6-mm1.
> > 
> > Well, this means my rc6-mm1 is different to what you have. :-)
> > 
> > Anyway in "my" version there's a function ext3_get_block() which reads like this:
> > 
> > static int ext3_get_block(struct inode *inode, sector_t iblock,
> >                         struct buffer_head *bh_result, int create)
> > {
> >         handle_t *handle = journal_current_handle();
> >         int ret = 0;
> >         unsigned max_blocks = bh_result->b_size >> inode->i_blkbits;
> > 
> >         if (!handle)
> >                 goto get_block;         /* A read */
> > 
> >         if (max_blocks == 1)
> >                 goto get_block;         /* A single block get */
> > 
> > etc.
> > 
> > I guess I should replace the "if (!handle)" with "if (!create)"?
> 
> Yes. In "-mm" ext3_get_block() == ext3_direct_io_getblocks() in
> mainline. 
> 
> I renamed ext3_direct_io_getblocks() to ext3_get_block() (in -mm) 
> since both of them do same thing now. (both can deal with mapping
> multiple blocks).

Ah, I see, thanks.

Replacing the  "if (!handle)" with "if (!create)" fixed the problem for me.

Greetings,
Rafael

      reply	other threads:[~2006-03-13 18:13 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-11 23:24 2.6.16-rc5-mm3: spinlock bad magic on CPU#0 on AMD64 Rafael J. Wysocki
2006-03-11 23:36 ` Andrew Morton
2006-03-12 10:27   ` Rafael J. Wysocki
2006-03-12 12:49     ` [discuss] " Rafael J. Wysocki
2006-03-12 22:26       ` Andrew Morton
2006-03-12 15:10         ` Andi Kleen
2006-03-12 23:23           ` Andrew Morton
2006-03-13 11:34         ` Rafael J. Wysocki
2006-03-13 11:45           ` Andrew Morton
2006-03-13 12:07             ` Rafael J. Wysocki
2006-03-13 16:02               ` Badari Pulavarty
2006-03-13 18:12                 ` Rafael J. Wysocki [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=200603131912.10356.rjw@sisk.pl \
    --to=rjw@sisk.pl \
    --cc=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=cmm@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbadari@us.ibm.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox