xfs
[Top] [All Lists]

Re: [PATCH v2] xfs: Fix rounding in xfs_alloc_fix_len()

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH v2] xfs: Fix rounding in xfs_alloc_fix_len()
From: Jan Kara <jack@xxxxxxx>
Date: Mon, 16 Jun 2014 11:00:01 +0200
Cc: Jan Kara <jack@xxxxxxx>, Brian Foster <bfoster@xxxxxxxxxx>, dchinner@xxxxxxxxxx, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20140613235622.GA9508@dastard>
References: <1401900833-25485-1-git-send-email-jack@xxxxxxx> <20140604184440.GC55624@xxxxxxxxxxxxxxx> <20140613150207.GA24615@xxxxxxxxxxxxx> <20140613235622.GA9508@dastard>
User-agent: Mutt/1.5.21 (2010-09-15)
On Sat 14-06-14 09:56:22, Dave Chinner wrote:
> On Fri, Jun 13, 2014 at 05:02:07PM +0200, Jan Kara wrote:
> > On Wed 04-06-14 14:44:40, Brian Foster wrote:
> > > On Wed, Jun 04, 2014 at 06:53:53PM +0200, Jan Kara wrote:
> > > > Rounding in xfs_alloc_fix_len() is wrong. As the comment states, the
> > > > result should be a number of a form (k*prod+mod) however due to sign
> > > > mistake the result is different. As a result allocations on raid arrays
> > > > could be misaligned in some cases.
> > > > 
> > > > This also seems to fix occasional assertion failure:
> > > >         XFS_WANT_CORRUPTED_GOTO(rlen <= flen, error0)
> > > > in xfs_alloc_ag_vextent_size().
> > > > 
> > > > Also add an assertion that the result of xfs_alloc_fix_len() is of
> > > > expected form.
> > > > 
> > > > Signed-off-by: Jan Kara <jack@xxxxxxx>
> > > > ---
> > > 
> > > Looks good to me. Thanks Jan.
> > > 
> > > Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>
> >   Ping Dave? Are you going to pick up this patch?
> 
> I did - it's already in Linus' tree for 3.16:
> 
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/fs/xfs/xfs_alloc.c?id=30265117ee1e23fa91920f337a3ea91207f700dc
  Ah, sorry. I was expecting some email about acceptance. I'll check the git
tree next time.

                                                                Honza
-- 
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR

<Prev in Thread] Current Thread [Next in Thread>