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. Honza > > > Signed-off-by: Jan Kara <jack@xxxxxxx> > > --- > > fs/xfs/libxfs/xfs_format.h | 10 +++++----- > > fs/xfs/xfs_mount.c | 5 ++--- > > 2 files changed, 7 insertions(+), 8 deletions(-) > > > > diff --git a/fs/xfs/libxfs/xfs_format.h b/fs/xfs/libxfs/xfs_format.h > > index fbd6da263571..476273287aaf 100644 > > --- a/fs/xfs/libxfs/xfs_format.h > > +++ b/fs/xfs/libxfs/xfs_format.h > > @@ -304,8 +304,8 @@ typedef enum { > > #define XFS_SB_ICOUNT XFS_SB_MVAL(ICOUNT) > > #define XFS_SB_IFREE XFS_SB_MVAL(IFREE) > > #define XFS_SB_FDBLOCKS XFS_SB_MVAL(FDBLOCKS) > > -#define XFS_SB_FEATURES2 XFS_SB_MVAL(FEATURES2) > > -#define XFS_SB_BAD_FEATURES2 XFS_SB_MVAL(BAD_FEATURES2) > > +#define XFS_SB_FEATURES2 (XFS_SB_MVAL(FEATURES2) | \ > > + XFS_SB_MVAL(BAD_FEATURES2)) > > That doesn't guarantee that both fields are updated together, just > that the'll get logged and written together. The code still has to > ensure both fields are updated beforehand. I have a patch to address > this as well, and will post them soon. > > Cheers, > > Dave. > -- > Dave Chinner > david@xxxxxxxxxxxxx -- Jan Kara <jack@xxxxxxx> SUSE Labs, CR _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs