Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 Jun 2014 21:46:14 +0000 (UTC)
From:      John-Mark Gurney <jmg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r267031 - head/sys/ufs/ffs
Message-ID:  <201406032146.s53LkEPb003907@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jmg
Date: Tue Jun  3 21:46:13 2014
New Revision: 267031
URL: http://svnweb.freebsd.org/changeset/base/267031

Log:
  don't check fs_flags for _FLAGS_UPDATED as it is stored in fs_old_flags..
  If you had a UFS2 FS that didn't have it's super block at SBLOCK_UFS2,
  you'll end up corrupting your FS as the superblock is updated and written
  to a different location...
  
  makefs used to put the superblock at SBLOCK_UFS1 for UFS 2 FS's causing
  this issue...
  
  Reviewed by:	silience from mckusick
  MFC after:	1 week

Modified:
  head/sys/ufs/ffs/ffs_vfsops.c

Modified: head/sys/ufs/ffs/ffs_vfsops.c
==============================================================================
--- head/sys/ufs/ffs/ffs_vfsops.c	Tue Jun  3 21:31:28 2014	(r267030)
+++ head/sys/ufs/ffs/ffs_vfsops.c	Tue Jun  3 21:46:13 2014	(r267031)
@@ -1931,13 +1931,13 @@ ffs_sbupdate(ump, waitfor, suspended)
 	}
 	bp = sbbp;
 	if (fs->fs_magic == FS_UFS1_MAGIC && fs->fs_sblockloc != SBLOCK_UFS1 &&
-	    (fs->fs_flags & FS_FLAGS_UPDATED) == 0) {
+	    (fs->fs_old_flags & FS_FLAGS_UPDATED) == 0) {
 		printf("WARNING: %s: correcting fs_sblockloc from %jd to %d\n",
 		    fs->fs_fsmnt, fs->fs_sblockloc, SBLOCK_UFS1);
 		fs->fs_sblockloc = SBLOCK_UFS1;
 	}
 	if (fs->fs_magic == FS_UFS2_MAGIC && fs->fs_sblockloc != SBLOCK_UFS2 &&
-	    (fs->fs_flags & FS_FLAGS_UPDATED) == 0) {
+	    (fs->fs_old_flags & FS_FLAGS_UPDATED) == 0) {
 		printf("WARNING: %s: correcting fs_sblockloc from %jd to %d\n",
 		    fs->fs_fsmnt, fs->fs_sblockloc, SBLOCK_UFS2);
 		fs->fs_sblockloc = SBLOCK_UFS2;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201406032146.s53LkEPb003907>