On 8/3/15 12:40 AM, Dave Chinner wrote: > From: Dave Chinner <dchinner@xxxxxxxxxx> > > Adding this simple change to xfstests:common/rc::_scratch_mkfs_xfs: > > + if [ $mkfs_status -eq 0 ]; then > + xfs_admin -U generate $SCRATCH_DEV > /dev/null > + fi > > triggers all sorts of errors in xfstests. xfs/104 is an example, > where growfs fails with a UUID mismatch corruption detected by > xfs_agf_write_verify() when trying to write the first new AG > headers. > > Fix this problem by making sure we copy the sb_meta_uuid into new > metadata written by growfs. > > Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Ok, at least this one has a plausible story; I did have this in my tree, and must have somehow (re?)sent outdated patches. :( Yeah, it was in all the series I sent up until the last re-send, damn. I'll re-check those prior patches against what we end up with, to make sure everything is in sync. Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> > --- > fs/xfs/xfs_fsops.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c > index 9b3438a..ee3aaa0a 100644 > --- a/fs/xfs/xfs_fsops.c > +++ b/fs/xfs/xfs_fsops.c > @@ -250,7 +250,7 @@ xfs_growfs_data_private( > agf->agf_freeblks = cpu_to_be32(tmpsize); > agf->agf_longest = cpu_to_be32(tmpsize); > if (xfs_sb_version_hascrc(&mp->m_sb)) > - uuid_copy(&agf->agf_uuid, &mp->m_sb.sb_uuid); > + uuid_copy(&agf->agf_uuid, &mp->m_sb.sb_meta_uuid); > > error = xfs_bwrite(bp); > xfs_buf_relse(bp); > @@ -273,7 +273,7 @@ xfs_growfs_data_private( > if (xfs_sb_version_hascrc(&mp->m_sb)) { > agfl->agfl_magicnum = cpu_to_be32(XFS_AGFL_MAGIC); > agfl->agfl_seqno = cpu_to_be32(agno); > - uuid_copy(&agfl->agfl_uuid, &mp->m_sb.sb_uuid); > + uuid_copy(&agfl->agfl_uuid, &mp->m_sb.sb_meta_uuid); > } > > agfl_bno = XFS_BUF_TO_AGFL_BNO(mp, bp); > @@ -309,7 +309,7 @@ xfs_growfs_data_private( > agi->agi_newino = cpu_to_be32(NULLAGINO); > agi->agi_dirino = cpu_to_be32(NULLAGINO); > if (xfs_sb_version_hascrc(&mp->m_sb)) > - uuid_copy(&agi->agi_uuid, &mp->m_sb.sb_uuid); > + uuid_copy(&agi->agi_uuid, &mp->m_sb.sb_meta_uuid); > if (xfs_sb_version_hasfinobt(&mp->m_sb)) { > agi->agi_free_root = cpu_to_be32(XFS_FIBT_BLOCK(mp)); > agi->agi_free_level = cpu_to_be32(1); > _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs