On Monday 13 March 2006 12:45, Andrew Morton wrote:
> "Rafael J. Wysocki" <[email protected]> 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)"?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]