2011-02-01 16:00:38

by Mark Lord

[permalink] [raw]
Subject: Re: [GIT PULL] XFS update for 2.6.38-rc3

On 11-01-31 11:42 AM, Alex Elder wrote:
> Linus, please accept the following updates for XFS, for 2.6.38-rc3
> (if it's not too late) or 2.6.38-rc4.
>
> They are all fixes for bugs that have some pretty undesirable
> consequences. They address:
> - One spot in which a hang can occur due to neglecting to drop a
> lock
> - A bug which in some cases a bogus block number can be recorded in
> a block map btree, resulting in a subsequent BUG_ON().
> - Two memory leaks
> - Three places in which extent sizes are allowed to exceed various
> size limits
> - One place where code depends on behavior that is not well-defined
> by the C standard
> - One problem in handling transaction commit errors


Are these bugs all new in 2.6.38, or should some of these fixes
also go out to -stable for earlier revisions?


> Dave Chinner (8):
> xfs: fix log ticket leak on forced shutdown.
> xfs: fix efi item leak on forced shutdown
> xfs: speculative delayed allocation uses rounddown_power_of_2 badly
> xfs: limit extent length for allocation to AG size
> xfs: prevent extsize alignment from exceeding maximum extent size
> xfs: limit extsize to size of AGs and/or MAXEXTLEN
> xfs: handle CIl transaction commit failures correctly
> xfs: fix dquot shaker deadlock
>
> [email protected] (1):
> xfs: xfs_bmap_add_extent_delay_real should init br_startblock


2011-02-03 00:08:06

by Dave Chinner

[permalink] [raw]
Subject: Re: [GIT PULL] XFS update for 2.6.38-rc3

On Tue, Feb 01, 2011 at 11:00:33AM -0500, Mark Lord wrote:
> On 11-01-31 11:42 AM, Alex Elder wrote:
> > Linus, please accept the following updates for XFS, for 2.6.38-rc3
> > (if it's not too late) or 2.6.38-rc4.
> >
> > They are all fixes for bugs that have some pretty undesirable
> > consequences. They address:
> > - One spot in which a hang can occur due to neglecting to drop a
> > lock
> > - A bug which in some cases a bogus block number can be recorded in
> > a block map btree, resulting in a subsequent BUG_ON().
> > - Two memory leaks
> > - Three places in which extent sizes are allowed to exceed various
> > size limits
> > - One place where code depends on behavior that is not well-defined
> > by the C standard
> > - One problem in handling transaction commit errors
>
>
> Are these bugs all new in 2.6.38, or should some of these fixes
> also go out to -stable for earlier revisions?
>
>
> > Dave Chinner (8):
> > xfs: fix log ticket leak on forced shutdown.
> > xfs: fix efi item leak on forced shutdown

Been there for years, extremely hard to hit, so no.

> > xfs: speculative delayed allocation uses rounddown_power_of_2 badly

-38-rc1 regression, so no.

> > xfs: limit extent length for allocation to AG size
> > xfs: prevent extsize alignment from exceeding maximum extent size
> > xfs: limit extsize to size of AGs and/or MAXEXTLEN

Been there for years in little used functionality, so no.

> > xfs: handle CIl transaction commit failures correctly

Introduced with new code in 2.6.35, hard to hit, only results in
small memory leaks, so no.

> > xfs: fix dquot shaker deadlock

That's a regression, so maybe.

> > [email protected] (1):
> > xfs: xfs_bmap_add_extent_delay_real should init br_startblock

Been there for years, no evidence ATM that this code path can be
exercised with a mainline kernel, so no.

Cheers,

Dave.
--
Dave Chinner
[email protected]

2011-02-03 22:02:46

by Arkadiusz Miskiewicz

[permalink] [raw]
Subject: Re: [GIT PULL] XFS update for 2.6.38-rc3

On Thursday 03 of February 2011, Dave Chinner wrote:
> On Tue, Feb 01, 2011 at 11:00:33AM -0500, Mark Lord wrote:
> > On 11-01-31 11:42 AM, Alex Elder wrote:
> > > Linus, please accept the following updates for XFS, for 2.6.38-rc3
> > > (if it's not too late) or 2.6.38-rc4.
> > >
> > > They are all fixes for bugs that have some pretty undesirable
> > > consequences.

[...]

> > Are these bugs all new in 2.6.38, or should some of these fixes
> > also go out to -stable for earlier revisions?
> > > xfs: fix dquot shaker deadlock
>
> That's a regression, so maybe.

Definitely, xfs_fsr can hit this even few times a day (happened already).

Stable team, please include this one for 2.6.37.1:

commit 0fbca4d1c3932c27c4794bf5c2b5fc961cf5a54f
Author: Dave Chinner <[email protected]>
Date: Fri Jan 28 11:20:46 2011 +1100

xfs: fix dquot shaker deadlock

Commit 368e136 ("xfs: remove duplicate code from dquot reclaim") fails
to unlock the dquot freelist when the number of loop restarts is
exceeded in xfs_qm_dqreclaim_one(). This causes hangs in memory
reclaim.

Rework the loop control logic into an unwind stack that all the
different cases jump into. This means there is only one set of code
that processes the loop exit criteria, and simplifies the unlocking
of all the items from different points in the loop. It also fixes a
double increment of the restart counter from the qi_dqlist_lock
case.

Reported-by: Malcolm Scott <[email protected]>
Signed-off-by: Dave Chinner <[email protected]>
Reviewed-by: Alex Elder <[email protected]>


> Cheers,
>
> Dave.


--
Arkadiusz Miƛkiewicz PLD/Linux Team
arekm / maven.pl http://ftp.pld-linux.org/

2011-02-16 22:00:18

by Greg KH

[permalink] [raw]
Subject: Re: [stable] [GIT PULL] XFS update for 2.6.38-rc3

On Thu, Feb 03, 2011 at 11:02:31PM +0100, Arkadiusz Miskiewicz wrote:
> On Thursday 03 of February 2011, Dave Chinner wrote:
> > On Tue, Feb 01, 2011 at 11:00:33AM -0500, Mark Lord wrote:
> > > On 11-01-31 11:42 AM, Alex Elder wrote:
> > > > Linus, please accept the following updates for XFS, for 2.6.38-rc3
> > > > (if it's not too late) or 2.6.38-rc4.
> > > >
> > > > They are all fixes for bugs that have some pretty undesirable
> > > > consequences.
>
> [...]
>
> > > Are these bugs all new in 2.6.38, or should some of these fixes
> > > also go out to -stable for earlier revisions?
> > > > xfs: fix dquot shaker deadlock
> >
> > That's a regression, so maybe.
>
> Definitely, xfs_fsr can hit this even few times a day (happened already).
>
> Stable team, please include this one for 2.6.37.1:

Now queued up (it will make .2, sorry, not .1)

thanks,

greg k-h