svn commit: r265351 - head/sys/geom/label

Edward Tomasz Napierala trasz at FreeBSD.org
Mon May 5 09:20:31 UTC 2014


Author: trasz
Date: Mon May  5 09:20:30 2014
New Revision: 265351
URL: http://svnweb.freebsd.org/changeset/base/265351

Log:
  Make r242379 - the fix for UFS labels disappearing after resizing
  the provider - also apply to UFS1 filesystems.  This should help with
  resizing filesystems created by makefs(8), which still uses UFS1.
  
  Tested by:	jmg@
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/sys/geom/label/g_label_ufs.c

Modified: head/sys/geom/label/g_label_ufs.c
==============================================================================
--- head/sys/geom/label/g_label_ufs.c	Mon May  5 08:12:21 2014	(r265350)
+++ head/sys/geom/label/g_label_ufs.c	Mon May  5 09:20:30 2014	(r265351)
@@ -81,13 +81,15 @@ g_label_ufs_taste_common(struct g_consum
 		fs = (struct fs *)g_read_data(cp, superblock, SBLOCKSIZE, NULL);
 		if (fs == NULL)
 			continue;
-		/* Check for magic. We also need to check if file system size is equal
+		/*
+		 * Check for magic. We also need to check if file system size is equal
 		 * to providers size, because sysinstall(8) used to bogusly put first
 		 * partition at offset 0 instead of 16, and glabel/ufs would find file
 		 * system on slice instead of partition.
 		 */
 		if (fs->fs_magic == FS_UFS1_MAGIC && fs->fs_fsize > 0 &&
-		    pp->mediasize / fs->fs_fsize == fs->fs_old_size) {
+		    ((pp->mediasize / fs->fs_fsize == fs->fs_old_size) ||
+		    (pp->mediasize / fs->fs_fsize == fs->fs_providersize))) {
 		    	/* Valid UFS1. */
 		} else if (fs->fs_magic == FS_UFS2_MAGIC && fs->fs_fsize > 0 &&
 		    ((pp->mediasize / fs->fs_fsize == fs->fs_size) ||


More information about the svn-src-head mailing list