On Thu, Dec 18, 2014 at 10:59:19AM +0100, Jan Kara wrote:
> On Thu 18-12-14 08:22:55, Dave Chinner wrote:
> > On Wed, Dec 17, 2014 at 09:27:26PM +0100, Jan Kara wrote:
> > > Currently when we modify sb_features2, we store the same value also in
> > > sb_bad_features2. However in most places we forget to mark field
> > > sb_bad_features2 for logging and thus it can happen that a change to it
> > > is lost. This results in an inconsistent sb_features2 and
> > > sb_bad_features2 fields e.g. after xfstests test xfs/187.
> > >
> > > Fix the problem by changing XFS_SB_FEATURES2 to actually mean both
> > > sb_features2 and sb_bad_features2 fields since this is always what we
> > > want to log. This isn't ideal because the fact that XFS_SB_FEATURES2
> > > means two fields could cause some problem in future however the code is
> > > hopefully less error prone that it is now.
> > Actually, I have patches that fix this differently that I'm planning
> > to push for the 3.20 cycle. They get rid of the "update random SB
> > fields" problem altogether simply by logging and updating the entire
> > SB every time.
> > http://oss.sgi.com/archives/xfs/2014-09/msg00448.html
> OK, thanks for info.
FWIW, I'll pull the fixes you have posted and rebase the rework I
have on top of them. That way we have fixes that can be backported
easily without pulling the entire rework in the commit history.