Author: ae
Date: Wed Apr 11 06:35:13 2012
New Revision: 234122
URL: http://svn.freebsd.org/changeset/base/234122

Log:
  It seems that libdisk(3) incorrectly sets d_secperunit value.
  Automatically fix it like GEOM_PART_BSD does.
  
  MFC after:    1 week

Modified:
  head/sbin/bsdlabel/bsdlabel.c

Modified: head/sbin/bsdlabel/bsdlabel.c
==============================================================================
--- head/sbin/bsdlabel/bsdlabel.c       Wed Apr 11 06:34:25 2012        
(r234121)
+++ head/sbin/bsdlabel/bsdlabel.c       Wed Apr 11 06:35:13 2012        
(r234122)
@@ -1194,7 +1194,8 @@ checklabel(struct disklabel *lp)
                        lp->d_interleave = vl->d_interleave;
                if (lp->d_secpercyl == 0)
                        lp->d_secpercyl = vl->d_secpercyl;
-               if (lp->d_secperunit == 0)
+               if (lp->d_secperunit == 0 ||
+                   lp->d_secperunit > vl->d_secperunit)
                        lp->d_secperunit = vl->d_secperunit;
                if (lp->d_bbsize == 0)
                        lp->d_bbsize = vl->d_bbsize;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to