svn commit: r183822 - head/sys/ufs/ffs

Konstantin Belousov kib at FreeBSD.org
Mon Oct 13 14:05:02 UTC 2008


Author: kib
Date: Mon Oct 13 14:05:01 2008
New Revision: 183822
URL: http://svn.freebsd.org/changeset/base/183822

Log:
  Sync up summary information for cylinder groups while data is already
  in memory during snapshot creation. This improves the results of the
  background fsck.
  
  Submitted by: tegge
  MFC after: 1 week

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

Modified: head/sys/ufs/ffs/ffs_snapshot.c
==============================================================================
--- head/sys/ufs/ffs/ffs_snapshot.c	Mon Oct 13 14:01:05 2008	(r183821)
+++ head/sys/ufs/ffs/ffs_snapshot.c	Mon Oct 13 14:05:01 2008	(r183822)
@@ -864,6 +864,13 @@ cgaccount(cg, vp, nbp, passno)
 	}
 	UFS_LOCK(ip->i_ump);
 	ACTIVESET(fs, cg);
+	/*
+	 * Recomputation of summary information might not have been performed
+	 * at mount time.  Sync up summary information for current cylinder
+	 * group while data is in memory to ensure that result of background
+	 * fsck is slightly more consistent.
+	 */
+	fs->fs_cs(fs, cg) = cgp->cg_cs;
 	UFS_UNLOCK(ip->i_ump);
 	bcopy(bp->b_data, nbp->b_data, fs->fs_cgsize);
 	if (fs->fs_cgsize < fs->fs_bsize)


More information about the svn-src-all mailing list