diff options
author | bde <bde@FreeBSD.org> | 1995-02-22 23:21:29 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1995-02-22 23:21:29 +0000 |
commit | e55d5d3716f96764f85c283761adf6d7f778a23f (patch) | |
tree | da91cce1d2377e54b18ccf6ea2f9b88e67d5d540 /sbin | |
parent | b501a5b627c102447f80855d305974f00b1a3382 (diff) | |
download | FreeBSD-src-e55d5d3716f96764f85c283761adf6d7f778a23f.zip FreeBSD-src-e55d5d3716f96764f85c283761adf6d7f778a23f.tar.gz |
Don't clobber d_secperunit in `disklabel -e'. `disklabel -e' replaces all
the values that it doesn't print by defaults. This seems wrong. I want
to be able to see the total number of sectors more than edit it. The
default d_secperunit of (sectors/track * tracks/cylinder * cylinders) is
bogus if sectors/track is only an approximation and more bogus if
sectors/track and tracks/cylinder are dummy values such as 4096 and 1
to defeat ufs's pessimizations.
Diffstat (limited to 'sbin')
-rw-r--r-- | sbin/bsdlabel/bsdlabel.c | 11 | ||||
-rw-r--r-- | sbin/disklabel/disklabel.c | 11 |
2 files changed, 22 insertions, 0 deletions
diff --git a/sbin/bsdlabel/bsdlabel.c b/sbin/bsdlabel/bsdlabel.c index efcbbf2..e5ae274 100644 --- a/sbin/bsdlabel/bsdlabel.c +++ b/sbin/bsdlabel/bsdlabel.c @@ -663,6 +663,7 @@ display(f, lp) fprintf(f, "tracks/cylinder: %d\n", lp->d_ntracks); fprintf(f, "sectors/cylinder: %d\n", lp->d_secpercyl); fprintf(f, "cylinders: %d\n", lp->d_ncylinders); + fprintf(f, "sectors/unit: %d\n", lp->d_secperunit); fprintf(f, "rpm: %d\n", lp->d_rpm); fprintf(f, "interleave: %d\n", lp->d_interleave); fprintf(f, "trackskew: %d\n", lp->d_trackskew); @@ -989,6 +990,16 @@ getasciilabel(f, lp) lp->d_ncylinders = v; continue; } + if (streq(cp, "sectors/unit")) { + v = atoi(tp); + if (v <= 0) { + fprintf(stderr, "line %d: %s: bad %s\n", + lineno, tp, cp); + errors++; + } else + lp->d_secperunit = v; + continue; + } if (streq(cp, "rpm")) { v = atoi(tp); if (v <= 0) { diff --git a/sbin/disklabel/disklabel.c b/sbin/disklabel/disklabel.c index efcbbf2..e5ae274 100644 --- a/sbin/disklabel/disklabel.c +++ b/sbin/disklabel/disklabel.c @@ -663,6 +663,7 @@ display(f, lp) fprintf(f, "tracks/cylinder: %d\n", lp->d_ntracks); fprintf(f, "sectors/cylinder: %d\n", lp->d_secpercyl); fprintf(f, "cylinders: %d\n", lp->d_ncylinders); + fprintf(f, "sectors/unit: %d\n", lp->d_secperunit); fprintf(f, "rpm: %d\n", lp->d_rpm); fprintf(f, "interleave: %d\n", lp->d_interleave); fprintf(f, "trackskew: %d\n", lp->d_trackskew); @@ -989,6 +990,16 @@ getasciilabel(f, lp) lp->d_ncylinders = v; continue; } + if (streq(cp, "sectors/unit")) { + v = atoi(tp); + if (v <= 0) { + fprintf(stderr, "line %d: %s: bad %s\n", + lineno, tp, cp); + errors++; + } else + lp->d_secperunit = v; + continue; + } if (streq(cp, "rpm")) { v = atoi(tp); if (v <= 0) { |