summaryrefslogtreecommitdiffstats
path: root/sbin/sunlabel/sunlabel.c
Commit message (Collapse)AuthorAgeFilesLines
* Support VTOC volume names. This can be useful to distinguish multiplejoerg2005-03-301-4/+48
| | | | | | | disks in a system. Solaris' format(1m) displays the volume names in the disk overview. MFC after: 1 month
* Fix grammar error.obrien2005-02-151-1/+1
|
* Fix indentation of continuation lines to (hopefully) comply withjoerg2004-06-181-28/+30
| | | | | | style(9). Reminded by: bde
* Cast the arguments to make_h_number() to uintmax_t before multiplyingjoerg2004-06-111-2/+2
| | | | them... Otherwise the result will be truncated anyway.
* Major overhaul of sunlabel(8).joerg2004-06-011-66/+405
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | . Implement option -c, all partition sizes will be calculated in cylinders as opposed to sectors. Since the Sun label is inherently cylinder-based, this makes the job a little easier. . Implement option -h, print the label in `human readable' size/offset format. . Implement SVR4-compatible VTOC-style elements. They are fully optional, defaulting to the current behaviour where no VTOC-style table will be written to disk. However, if desired, the full functionality of the partitioning menu of Solaris' format(1m) is now offered (and even more). . When editing the label, do not loop around edit_label() where a new template file is generated for each turn, this used to be annoying in that any possible syntax error caused a complaint, but then the template was created anew, so the user had to perform all their editing again. Rather loop inside edit_label(), similar to bsdlabel(8), so in case of errors, the user will be presented their previous template file again. . If VTOC-style elements are present, the overlap checks are made less stringent. Overlaps will still be warned about, but overlaps of `unmountable' partitions against other ones are no longer fatal. That way, e. g. VxVM encapsulated disk labels can be fully edited in FreeBSD (but not in Solaris ;-). . In print_label(), generate the editing hints only if the -e flag is in effect. Additionally, print a hint about the total number of sectors in the (hardware) medium. . When editing a label, allow for changing the geometry emulation (and textual name) by modifying the "text:" line on top. That way, a more effective emulation can be chosen. . When editing/reading a label, additionally allow for the suffixes `s' (512-byte sectors), and `c' (cylinders) in the partition size field. . Finally, turn the stub man page into something that really explains the entire thing.
* When editing a Sun label, make the search for a valid partition linejoerg2004-05-041-4/+21
| | | | | | | violate POLA a little less by not requiring exactly two spaces in front of the entry (and silently discarding any non-matching entry). We now recognize anything starting with a letter followed by a colon as the first non-space chars as a partition entry.
* Use (char *)NULL to terminate the argument list for execlp().harti2003-10-301-1/+1
| | | | | Without this cast the compiler cannot know that it has to convert the null pointer constant NULL to a null pointer.
* Simplify the GEOM OAM api: Drop the request type, and let everythingphk2003-06-011-4/+4
| | | | | | | | 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.
* If we cannot open the parent device for writing, use GEOM::CONFIG_GEOMphk2003-04-231-24/+58
| | | | | | | | requests to write label and bootcode. The -r argument is ignored (with a warning). With a lot of help from: jake
* Use explicit encoding/decoding funtions for sunlabel data structures.phk2003-04-211-34/+23
| | | | | | | | Use #defines for various magic numbers. Attach test-case to makefile. Reviewed by: jake
* Solve printf/cast issues to make this compile in i386 as well.phk2003-04-181-5/+5
|
* - Use read(2) to get the existing sunlabel on a disk, instead of parsingjake2003-04-151-77/+81
| | | | | | | | | | | | | | kern.geom.conftxt, which md disks don't show up in. If the magic and the checksum are right assume its a valid sunlabel, otherwise use the DIOC ioctls to get the disk parameters and whip up a label out of thin air. - Don't just silently create or correct invalid c partitions, warn about invalid ones in label proto files. - Split checksumming into a function since we do it a couple times. Also don't include the sl_cksum field in the checksum, which avoids needing to clear it first. This is makes sunlabel a suitable replacement for disklabel in make release.
* Add sunlabel, a more or less drop in replacement for bsd^H^H^Hdisklabel(8)jake2003-01-311-0/+578
which works on sun labels. Due to the lack of an interface other than write(2) to update labels, it cannot modify an open partition.
OpenPOWER on IntegriCloud