Commit Graph

229 Commits

Author SHA1 Message Date
des
9c026741d8 Use fallthrough to simplify the multiplier logic; optimistically add
support for the T multiplier; improve the error message for unrecognized
multipliers.
2004-08-08 23:14:44 +00:00
des
8cec0bf03f Fix some whitespace issues, and move a curly brace out of an #ifdef to
avoid confusing auto-indenting editors.
2004-08-08 23:11:43 +00:00
ru
f6aa4621fd Assorted markup, grammar, and spelling fixes. 2004-05-17 08:35:43 +00:00
markm
90f91e7879 Remove advertising clause from University of California Regent's license,
per letter dated July 22, 1999.

Approved by: core, imp
2004-04-09 19:58:40 +00:00
luigi
7d2b7cf0e9 Implement a '-f' flag to teach bsdlabel to work on files instead of
disk partitions.
2004-03-30 23:15:03 +00:00
jhb
5670428480 When installing boot blocks into an Alpha BSD label, setup the location,
length, and flags fields at the end of the SRM boot sector so that SRM can
find the bootstrap code.  This fixes bsdlabel -m alpha to generate bootable
disklabels.

Reviewed by:	phk
2004-03-15 23:10:34 +00:00
nyan
e535657797 '-DPC98' is not needed. 2004-01-11 09:11:10 +00:00
phk
2d32752eb9 Only automatically create an 'a' partition when there is nothing
but a 'c' partition.
2003-10-18 19:32:35 +00:00
iedowse
24155b3ff1 Remove the hardcoded default block/frag/cpg values from bsdlabel
and the logic for setting them according to the partition size.
Instead, unspecified filesystem values are left at 0 so that newfs
will use its own defaults. It just caused confusion to have the
defaults duplicated in two different places.

Reviewed by:	phk
2003-10-05 19:40:02 +00:00
ru
1edcd1b018 mdoc(7): Properly mark C headers. 2003-09-10 19:24:35 +00:00
ru
1c23ef339b mdoc(7): Use the new feature of the .In macro. 2003-09-08 19:57:22 +00:00
phk
947bcdc573 When we initialize a disk with a virgin label, create also an 'a'
partition which starts after the bootstrap area and fills the entire
disk.
2003-08-27 22:34:57 +00:00
phk
d25df9535b Augh! Fix the sparc64 build:
If we don't have a default label location for the compiled architecture,
insist that a -m <architecture> option is specified.
2003-06-07 22:02:01 +00:00
phk
10afeb8271 Sanitize setting of labeloffset and labelsector. 2003-06-07 09:09:39 +00:00
phk
56091404e8 Give ia64 the exact same semantics as i386 with respect to non-512
byte sector devices.
2003-06-04 05:25:04 +00:00
marcel
781a492a3e Unbreak ia64. 'nuff said. 2003-06-04 02:01:05 +00:00
phk
2550ebdaa6 Fix sectorsize != 512 on i386 and pc98. Add test cases for same. 2003-06-02 14:19:31 +00:00
phk
069191fcbf Simplify the GEOM OAM api: Drop the request type, and let everything
hinge on the "verb" parameter which the class gets to interpret as
it sees fit.

Move the entire request into the kernel and move changed parameters
back when done.
2003-06-01 13:47:51 +00:00
phk
f1c49df79e Add pc98 arch to test set.
Remove ktrace which leaked out of test-setup.
2003-06-01 09:30:53 +00:00
obrien
a3c77bad15 Protext copyright[]. 2003-05-31 15:42:56 +00:00
ru
8bc4d4bba7 mdoc(7) fixes.
Approved by:	re (blanket)
2003-05-24 19:53:08 +00:00
peter
4597dace1f Add amd64 to the MACHINE_ARCH list of systems that link bsdlabel to
disklabel.  I just got burnt again by having an old disklabel binary
kicking around.

Discussed with: phk
Approved by:    re (safe amd64 stuff)
2003-05-23 06:08:28 +00:00
ru
b0ddc74ad2 Style fixes.
Reviewed by:	phk
Approved by:	re (scottl)
2003-05-17 19:06:45 +00:00
ru
7ffefb5839 Moved libgeom.so dependencies to where they belong.
Reviewed by:	phk
Approved by:	re (scottl)
2003-05-17 19:05:17 +00:00
phk
3b9288c6f4 Add pc98 archtecture entry.
Approved by:	re/rwatson
2003-05-13 19:42:52 +00:00
phk
c4e628afb8 Before reading an ascii label, initialize with defaults so that
getasciipartspec() has a sectorisize in case it needs one.

Approved by:	re/jhb
2003-05-09 20:26:17 +00:00
phk
769c145dbe Sigh, this shows just how much one can be conditioned my the environment:
Just because we for the last ten years have fought for every byte
in the boot code on i386, doesn't mean that other architectures could
not actually have space to spare there.

Remore debugging message.
2003-05-09 19:07:59 +00:00
phk
fe7b626383 Compile bsdlabel on all platforms.
Install a link to the disklabel(8) name on i386 and alpha platforms.

Leave old disklabel(8) sources intact but disconnected from the build
for now.
2003-05-05 21:28:08 +00:00
phk
1067d41da3 Add transparent handling of mbroffset for backwards compatibility. 2003-05-04 19:27:22 +00:00
phk
a3b8d0b40b More axe-work:
Hide all the historical fields of the label, unless people ask for them with -A,
set them to intelligently chosen defaults otherwise.

Distill the manual page to remove inaccuracies, misundertandings and obsolete
information.  It can probably still be done better but now at least it is
not misinforming people.
2003-05-03 09:58:20 +00:00
phk
51336ad9ea Some minor remodelling with a large axe. 2003-05-03 09:02:27 +00:00
phk
2d603e9073 Use new geom.ctl based OAM instead of ioctls.
Various cleanup.
2003-05-03 08:04:24 +00:00
phk
023c16ae05 bsd_disklabel_le_dec() takes an extra argument now. 2003-05-02 22:46:44 +00:00
phk
283a9b563b Vastly simplify architecture handling: Use properties of label as
recorded in global variables, rather than checks on the architecture.

Drop horribly code to handle MBR/PC98's embedded in the BSD label area.
If you need to have an MBR or PC98 on your disk, you should not overlap
it with a BSDLABEL, if you don't need it, this code is nothing but trouble.
2003-05-02 20:14:48 +00:00
phk
da6f75bd54 Default the location to the compiled for architecture if no -m arg specified. 2003-05-02 20:02:11 +00:00
phk
55aa7c2b5c Add three global variables which contain the location, size and a flag
for the alpha checksum, and set them depending on the specified architecture

Don't look for disklabels every 16 bytes, look the only place they should
be for the current architecture.

Always read the label from the raw disk and decode it into struct
disklabel rather than trust a cast from random addresses.

When writing to the raw disk, encode the label properly.
2003-05-02 19:58:08 +00:00
phk
865a4611c8 Pull in geom_bsd_enc.c from sys/geom to encode and decode our labels. 2003-05-02 19:54:18 +00:00
phk
872854ec00 Remove the well-intentioned, but ill thought out check which prevents us
from dd(1)'ing the boot code off one drive and have bsdlabel write it
on another.
2003-05-02 19:14:38 +00:00
phk
cf0500a874 Update the test-script based on the sunlabel version, but put a for-loop
in there to run over the various architectures.
2003-05-02 19:12:20 +00:00
phk
90f1f27caa Add the beginning of a regression test.
So far it checks the overwrites of the BSD label inband (ie: dd
if=/dev/ad0a of=/dev/ad2a).

This excercises the geom::slice::hotspot code.
2003-04-18 22:20:46 +00:00
phk
8f433e738c First scrub of s/disklabel/bsdlabel/
bsdlabel.5 deliberately exempted, its contents looks less than useful.
2003-04-18 19:44:12 +00:00
trhodes
24d5a111cf Quick grammar fix. 2003-04-17 17:36:31 +00:00
yar
98acc8a3d7 Don't die of SIGSEGV on a missing fstype field
in a saved disklabel file.

MFC after:	1 week
2003-04-01 14:44:53 +00:00
seanc
44afb4dc11 Small mdoc fix 2003-03-29 02:09:02 +00:00
ru
6284f56b71 Teach disklabel(8) about different hardware architectures.
This is aimed at creating floppies during cross-releases.
For different endianness machines, a tool like bswapfs(8)
is necessary to make the generated floppies readable on
the target machine.  While here, fixed unaligned access
on Alphas.

Tested on:	i386, alpha
2003-03-16 00:11:49 +00:00
ru
ac112fdb57 Give this manpage a good overhaul, including the markup.
Notable changes:

- Removed the "disktype" argument from the -B only synopsis
  form.  This form doesn't touch the disk label, and doesn't
  use this argument.

- Fixed the first example in the EXAMPLES section.  Support
  for compatibility slices has been recently dropped from
  the GEOM kernels, and a bit later GEOM became standard.

- Removed the buggy notion from rev. 1.37 that disklabel(8)
  may be used to define mount points; it cannot.  Improve
  some DOS partition / FreeBSD slice wording.  Among these,
  ``dangerously-dedicated slice'' was just a nonsense.  ;-)
2003-03-15 22:00:45 +00:00
ru
92ca4bb33a Properly mark "auto" as a keyword. 2003-03-14 09:38:54 +00:00
ru
5ecd4995a5 Deal with vestiges of d_boot[01]. 2003-02-23 01:48:42 +00:00
phk
a27e16309d If we fail to open O_RDWR, try opening O_RDONLY, if we use ioctls
to fiddle the disk we can get away with it.

Try to use DIOCBSDBB to write boot code.
2003-01-26 21:55:43 +00:00
phk
8825e48f4a IA64 still needs to be able to run on MBR+BSD combination, so put disklabel
back.

Pointed out by:	peter
2003-01-26 18:33:54 +00:00
phk
4865a58cd6 Drop the silly notion that i386 has two bootstrap files now that sys/boot
creates a single file named just "boot".

Apart from the fact that the option "-s" is now gone and that "-b" should
be pointed at /boot/boot instead of /boot/boot1, this patch should be
a no-op.
2003-01-26 14:35:53 +00:00
phk
f67e3529e3 Remove #if checks for NUMBOOT==0, it's not relevant for any architecture
and if we get such an architecture, we can just avoid using the relevant
options.
2003-01-26 13:50:11 +00:00
phk
807fc7de0e Offer better advice in #error.
Remove yet a usage message about -N/-W
2003-01-26 12:39:46 +00:00
phk
ad2fa30e32 Remove ia64 and powerpc #ifdefs: this is i386/pc98/alpha only code. 2003-01-26 12:22:26 +00:00
phk
f3345c20fa Remove #ifdef __sparc64__ code. GEOM uses native SUN labels on this arch,
so no hacks are needed.
2003-01-26 11:43:50 +00:00
phk
977978310d Fix typo in last commit.
Rearrange bits in writelabel() a bit for improved readability.
2003-01-26 11:41:37 +00:00
phk
722d5435d7 Remember to remove -N and -W from usage. 2003-01-26 11:28:34 +00:00
phk
5ee78ecce5 Don't fiddle write-protect status of disklabel, it's a discontinued feature. 2003-01-26 11:16:25 +00:00
phk
dc7edb5afb Retire the "-N" and "-W" options which implemented write-protection
for the disklabel:  This facility is OBE.

First of all, we cannot sensibly implement this in a properly stacked
environment.

Second, if we did, it would confuse the heck out of users who
wouldn't be able to "start from scratch" by dd(8)'ing /dev/zero
onto /dev/da0.

Third, the offered protection is not comprehensive: no other software
would respect it.

Fourth and finally, the disklabel is already protected against
tampering if it controls open partitions.

Uselessness of these options discussed with:	peter
2003-01-26 11:11:19 +00:00
des
eac0b70cbc Clear part_set, part_size_type and part_offset_type before parsing the
ascii label; otherwise checklabel() might report spurious errors because
of leftovers from a previous pass.

Reviewed by:	bde
MFC after:	1 week
2003-01-16 12:57:53 +00:00
nyan
864080610e Rename the dos_partition structure for pc98 to pc98_partition. 2003-01-04 08:50:48 +00:00
ru
4979ab8d81 mdoc(7) police: Deal with self-xrefs. 2002-12-24 13:41:48 +00:00
ru
041d1287e8 Uniformly refer to a file system as "file system".
Approved by:	re
2002-12-12 17:26:04 +00:00
grog
ac39319766 Relax partition overlap check to allow Vinum partitions to overlap
other partitiosns.  This is necessary when migrating conventional
partitions to Vinum and was broken by recent more stringent overlap
checks.  This is arguably the wrong way to do it.  A better method
would be to have the loader understand a subset of Vinum partitioning
and allow an install directly to Vinum, but until then, this is the
best we have.

Reviewed by:	jhb
Approved by:	re (rwatson)
2002-12-02 23:49:59 +00:00
ru
892437167f mdoc(7) police: Added missing markup bit.
Approved by:	re
2002-11-25 15:43:18 +00:00
julian
98ba605081 Everything in the disklabel is unsigned so make all the input routines
take unsigned values.
his allows one to label disk with the number of blocks > 31 bits
(though less then 32 bits)

e.g.
#        size   offset fstype [fsize bsize bps/cpg]
  c: 3125755904  0   unused    0     0        # (Cyl.    0 - 194569*)
  d: 3125755840  64  unused    0     0        # (Cyl.    0*- 194569*)
which is needd to test UFS2
2002-11-18 04:58:11 +00:00
schweikh
c554f3f243 Document that write(2) et al can return EROFS for attempts to write the
disk label area.

PR:		43891
Submitted by:	Diomidis D. Spinellis <dds@istlab.dmst.aueb.gr>
MFC after:	3 days
2002-10-10 19:16:10 +00:00
nyan
4c34626aa8 Fix to support pc98. 2002-10-08 12:13:19 +00:00
phk
d50e0d7392 Don't be noisy if DIOCWLABEL fails, it's probably because we're writing
the first label to the raw disk.

Sponsored by:	DARPA & NAI Labs.
2002-10-05 21:57:05 +00:00
phk
19150ba4f8 Split MBR and PC98 on-disk sliceformats out from disklabel.h, step 1:
Peter had repocopied sys/disklabel.h to sys/diskpc98.h and sys/diskmbr.h.

These two new copies are still intact copies of disklabel.h and
therefore protected by #ifndef _SYS_DISKLABEL_H_ so #including them
in programs which already include <sys.disklabel.h> is currently a
no-op.

This commit adds a number of such #includes.

Once I have verified that I have fixed all the places which need fixing,
I will commit the updated versions of the three #include files.

Sponsored by:   DARPA & NAI Labs.
2002-10-01 07:24:55 +00:00
phk
2f9ce7f609 Construct new disklabels based on the medias stated parameters in
userland, rather than expect all possible GEOMetries to know about
BSD disklabels.

Sponsored by:	DARPA & NAI Labs
2002-09-20 09:18:31 +00:00
trhodes
136be46680 s/filesystem/file system/g as discussed on -developers 2002-08-21 18:11:48 +00:00
bmilekic
df335c7ca3 Fix more breakage due to FSTYPENAMES/DKTYPENAMES split.
Also submitted by: David Wolfskill <david@catwhisker.org>
2002-08-16 16:08:36 +00:00
charnier
a2accd01f0 The .Nm utility 2002-07-06 19:34:18 +00:00
markm
99da2f435c Apply __FBSDID(); fix local variable(names) that stomp on global
definitions; fix some const strings; fix some signedness issues.
2002-07-03 16:43:11 +00:00
iedowse
306d84207e Oops, unbreak parsing of the `type' field in getasciilabel(). I had
changed a `goto' to a `continue' in revision 1.52, but it continued
the wrong loop.

Noticed by:	bde
2002-06-05 08:11:28 +00:00
alfred
166dc2c9af correct comment (replace i386 with __i386__) 2002-05-30 07:12:12 +00:00
iedowse
a337baf222 Fix some serious brain damage in the default block/frag/cpg parameters
that are used if none at all are specified for a partition. Don't
keep replaying the last field if we run out of fields when processing
a line. Use a 8:1 frag:block ratio for both defaults.

More work here is required. I think disklabel should not attempt
to choose default filesystem parameters, and instead let newfs pick
any defaults if required.

PR:		i386/38703
Reported by:	Martin Kraemer <Martin.Kraemer@Fujitsu-Siemens.com>
2002-05-30 01:44:35 +00:00
iedowse
078e6c4721 Split out the code for parsing the partition specification lines
into a separate function to avoid some over-long lines.
2002-05-30 01:19:25 +00:00
benno
0e8bf3d65e Spread the word of PowerPC. 2002-05-21 04:25:24 +00:00
trhodes
896f3841bf more file system > filesystem 2002-05-16 04:10:46 +00:00
phk
02fe70f68e Retire the bogus uses of the disklabel field d_sbsize and begin to
initialize it to zero so we don't have to have everbody and their
aunt including FFS specific header files.

Sponsored by: DARPA & NAI Labs.
2002-05-12 20:49:41 +00:00
trhodes
9e9c2c31ac disklabel(8) manual page:
--change "-s newboot" to "-s newboot2" in an example
--Fixed spelling
--Fixed some confusion between slice/parition/primary partition and other
things.

PR:		35947 and 35951
Noticed by:	Gary W. Swearingen <swear@blarg.net>
Reviewed by:	keramida
Thanks to:	grog
MFC after:	2 days
2002-04-15 22:24:34 +00:00
phk
0c60225131 Don't set WARNS to 2, we're default compatible now.
Noticed by:		bde
2002-04-08 06:26:46 +00:00
phk
8823e26b95 Get us to WARNS=2 with a bit of constification and some printf fiddling.
Pick up the c-partitions magicness from sys/disklabel.h instead
of defining our own magicness for it, remove trivial comment.

Sponsored by: DARPA and NAI Labs.
2002-04-07 10:57:00 +00:00
phk
0e00996d76 Nuke a totally pointless optional debug option
Sponsored by: DARPA and NAI Labs.
2002-04-07 10:39:23 +00:00
phk
0f8b0dba50 Remove remaining traces of d_boot[01] 2002-04-04 20:22:15 +00:00
phk
d25c54bf89 Kill only usage of the undocumnted and unuse d_boot[01] fields of
struct disklabel.

Sponsored by:	DARPA & NAI Labs.
2002-04-03 15:46:56 +00:00
imp
554c50af26 Remove stray register 2002-03-19 18:47:50 +00:00
imp
c59132f682 De-__P the man page, but I suspect that we need to freshly import
sys/disklabel.h since the one in here looks a little crunchy.
2002-03-19 18:44:56 +00:00
imp
396e147482 o remove __P
o Use ANSI function definitions
o const poison
o remove register
2002-03-18 06:17:50 +00:00
obrien
c4c8eefa48 Add complete Sparc64 support.
Submitted by:	tmm

Dike out vax support.
2002-03-11 04:41:42 +00:00
obrien
960cf2a975 * Support the Sparc64.
* Do not default to any particular platform.  Require that we explicitly
  support a particular platform.
2002-03-11 04:20:37 +00:00
dd
69ed61e704 Remove inappropriate .Op calls in examples.
PR:		35689
Submitted by:	Gary W. Swearingen <swear@blarg.net>
2002-03-10 09:10:06 +00:00
phk
7b0ce36f94 A bit of premptive GEOM POLA magic: If we don't get a virgin disklabel
from /dev/food0, then try from /dev/f00d0c, in strange cases this work.
2002-03-03 21:21:45 +00:00
dd
c52f88ea97 In the words of the submitter:
disklabel(8)'s "Reading the disk label" section starts out "To examine
	or save the label on a disk drive,...".  This is confusing.  The given
	command (disklabel [-r] disk) doesn't save anything (except to standard
	out, but that should go without saying).  It reads as if the command
	might save something on the disk drive.

PR:		32452
Submitted by:	Gary W. Swearingen <swear@blarg.net>
2002-01-07 06:45:17 +00:00
obrien
9baf2f1b03 Default to WARNS=2.
Binary builds that cannot handle this must explicitly set WARNS=0.

Reviewed by:	mike
2001-12-04 02:19:58 +00:00
ru
255dbf6990 -r is implied with -B. 2001-10-10 16:26:56 +00:00
ru
623da62a5a mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
ru
e9cbb548b9 The defaults for bsize and fsize were interchanged.
PR:		docs/30330
2001-09-05 08:51:21 +00:00