svn commit: r246329 - head/sbin/recoverdisk

Xin LI delphij at FreeBSD.org
Mon Feb 4 19:17:15 UTC 2013


Author: delphij
Date: Mon Feb  4 19:17:15 2013
New Revision: 246329
URL: http://svnweb.freebsd.org/changeset/base/246329

Log:
  Use stripesize as smallest block size if it's available.
  
  MFC after:	2 weeks

Modified:
  head/sbin/recoverdisk/recoverdisk.c

Modified: head/sbin/recoverdisk/recoverdisk.c
==============================================================================
--- head/sbin/recoverdisk/recoverdisk.c	Mon Feb  4 19:05:53 2013	(r246328)
+++ head/sbin/recoverdisk/recoverdisk.c	Mon Feb  4 19:17:15 2013	(r246329)
@@ -156,6 +156,7 @@ main(int argc, char * const argv[])
 	int error, state;
 	u_char *buf;
 	u_int sectorsize;
+	u_int stripesize;
 	time_t t1, t2;
 	struct stat sb;
 	u_int n, snapshot = 60;
@@ -201,6 +202,10 @@ main(int argc, char * const argv[])
 		if (error < 0)
 			err(1, "DIOCGSECTORSIZE failed");
 
+		error = ioctl(fdr, DIOCGSTRIPESIZE, &stripesize);
+		if (error == 0 && stripesize > sectorsize)
+			sectorsize = stripesize;
+
 		minsize = sectorsize;
 		bigsize = (bigsize / sectorsize) * sectorsize;
 


More information about the svn-src-head mailing list