[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090621.213409.32665554.ryusuke@osrg.net>
Date: Sun, 21 Jun 2009 21:34:09 +0900 (JST)
From: Ryusuke Konishi <konishi.ryusuke@....ntt.co.jp>
To: users@...fs.org, andi@...stfloor.org
Cc: konishi.ryusuke@....ntt.co.jp, linux-kernel@...r.kernel.org
Subject: Re: [NILFS users] [PATCH] nilfs2: fix hang problem after
bio_alloc() failed
Hi Andi,
On Sun, 21 Jun 2009 13:08:43 +0200, Andi Kleen <andi@...stfloor.org> wrote:
> Ryusuke Konishi <konishi.ryusuke@....ntt.co.jp> writes:
> >
> > diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c
> > index 22c7f65..e8f188b 100644
> > --- a/fs/nilfs2/segment.c
> > +++ b/fs/nilfs2/segment.c
> > @@ -1846,26 +1846,13 @@ static int nilfs_segctor_write(struct nilfs_sc_info *sci,
> > err = nilfs_segbuf_write(segbuf, &wi);
> >
> > res = nilfs_segbuf_wait(segbuf, &wi);
> > - err = unlikely(err) ? : res;
> > + err = unlikely(err) ? err : res;
>
> It's very dubious gcc does anything with unlikely here anyways.
> They typically only work directly in conditions being tested.
I got it. I'll rewrite the first bugfix so that it just removes the
unlikely directive.
- err = unlikely(err) ? : res;
+ err = err ? : res;
> > if (unlikely(err))
> > return err;
>
> Also gcc generally considers conditions to blocks that
> return unlikely, so it's actually superfluous.
Thanks, I didn't know this. I'll take in this, too.
> -Andi
> --
> ak@...ux.intel.com -- Speaking for myself only.
Regards,
Ryusuke Konishi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists