lkml.org 
[lkml]   [2006]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [discuss] Re: 2.6.16-rc5-mm3: spinlock bad magic on CPU#0 on AMD64
From
Date
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).

Thanks,
Badari

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-03-13 17:03    [W:0.038 / U:0.140 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site