summaryrefslogtreecommitdiff
path: root/sbin/disklabel
AgeCommit message (Collapse)Author
2008-06-04setbootflag() must be done before checksum'ing the label. Bug introducedTheo de Raadt
in 1.126, found by nick during a test install; ok krw
2008-05-13Make socppc on par with macppc for now.Miod Vallat
2008-04-13Redo the '?' output in (E)ditor mode so it uses two columns and onceKenneth R Westerback
again fits on one page. Suggested by, tweaked and ok deraadt@.
2008-04-07Since Alpha is NUMBOOT=0, no need for #ifdef __alpha__ code inside aKenneth R Westerback
#if NUMBOOT > 0 section.
2008-04-07Restore boot block (-B) support that was incorrectly deleted duringKenneth R Westerback
the -r removal. Found by drahn@ when attempting a landisk install. ok deraadt@ drahn@
2008-04-06nwflag is never set now that '-r' is no more, so remove it and the warningKenneth R Westerback
that was contingent on it being set.
2008-04-06Remove stray '-r' reference that survived the nuke of -r.Kenneth R Westerback
2008-04-06Fix logic botch I introduced with r1.123 which effectively disabledKenneth R Westerback
the '-c' and '-d` commands. With the removal of 'rflag' (logically making it always false), (a || (rflag && cflag + dflag) || b) should be (a || b), not (a || (cflag + dflag) || b). This fixes 'disklabel -w -d <disk>' as used in the install scripts. Reported by Peter Kun on misc@. Thanks!
2008-03-23Nuke disklabel -r. All labels come from the kernel via ioctl.Kenneth R Westerback
"make sense" miod@ ok deraadt@
2008-01-26getuint() doesn't use its partno argument. So eliminate it. NoKenneth R Westerback
functional change. Noticed by lint.
2008-01-25Fix my screwup and don't return NULL from sort_paritions.Kenneth R Westerback
Problem found by ckuethe@, slightly different fix than the one proposed by otto@ applied.
2008-01-25document maximum partition size; ok jmc@ krw@Otto Moerbeek
2008-01-24"read(..., ..., sizeof Y) < sizeof Y" is a dangerous idiom because itKenneth R Westerback
does an unsigned comparison and read() can return -1. Use '!=' instead of '<' since read() can't return more than 'sizeof Y'. Not perfect (that would require a separate test for -1) but a very common usage. Do the same for a write(), and a couple of read() calls which are probably ok but why be inconsistant? This, as the last couple of commits, found by ian@ as a result of poking around in fsck_msdos() when his new iPod had problems vs OpenBSD. Concept reviewed by miod@, beck@, otto@ and ian@.
2008-01-22Another sneaky 32 bit variable trying to hold 64 bit values. This timeKenneth R Westerback
in find_bounds() when processing a DOS MBR.
2008-01-22Use u_int64_t variables to hold partition offsets when calculatingKenneth R Westerback
offsets and sizes of free chunks. 32 bits just won't hack new big partitions. Simplify and clarify code while here.
2008-01-22Make sort_partitions() even more consistant with free_chunks() by notKenneth R Westerback
returning the number of elements. Check for terminating empty entry (i.e. NULL) instead. Code a bit clearer and shorter with fewer variables. No functional change.
2008-01-22Kill redundant loop to find number of partitions to sort. We no longerKenneth R Westerback
calloc() the memory.
2008-01-22Replace a frequent calloc/free dance for sorted partitions with aKenneth R Westerback
static array that we zero before each use. heapsort(3) shouldn't care. "should be fine" beck@
2008-01-21changes to disklabel's usage:Igor Sobrado
- align usages and their descriptions (text enclosed in brackets); - blank[], used for padding prior to r1.86, can improve readability of usage on 80-column displays if NUMBOOT == 2 ok jsing@, krw@
2008-01-16remove "unused variable" warningCharles Longeau
ok krw@
2008-01-12Check for expert mode/FFS inside get_fsize() and get_bsize() andKenneth R Westerback
reduce meat of editor_add() && editor_modify() to single if statements checking for != 0 from all get_* functions. No functional change.
2008-01-12has_overlap() now always tries to resolve overlaps because it is onlyKenneth R Westerback
called during -E initialization. Thus it no longer needs the 'resolve' parameter.
2008-01-12Tweak get_offset() so it does it's own free chunks to check theKenneth R Westerback
new offset being in a free area.
2008-01-12Change editor_countfree() to return the count rather than recording itKenneth R Westerback
in a semi-global. Call it whenever the count is needed rather than trying to make sure it is called anytime the value might change. Eliminates a bunch of now unnecessary *freep parameters and calls to editor_countfree().
2008-01-12Parameter 'new' to get_size() no longer used.Kenneth R Westerback
2008-01-12Introduce the function max_partition_size() to calculate the max sizeKenneth R Westerback
a partition can be without causing overlap. Use it to eliminate the need to check overlap in get_size() and to make the (c)hange command message more meaningful, i.e. mention max size allowed not the amount of total free space.
2008-01-11Remove one level of epicycles by not looping in get_size() orKenneth R Westerback
get_offset() when the user enters an invalid value. Just abort the partition operation and return to the main prompt. Prevents users getting trapped because they don't know about ^D. Requested by deraadt@. Tweak an error message to remove ambiguity about what 'between x and y' means.
2008-01-11Don't allow (a)dd or (m)odify to create 0 length partitions. Don'tKenneth R Westerback
allow editing the fsize/bsize FFS values for FS_UNUSED partitions. ok (for at least the first bit) miod@ weingart@ beck@
2008-01-10Minor aligning of code and comments between editor_add() andKenneth R Westerback
editor_modify(). No functional change.
2008-01-08Beef up the (r)ecalculate command in -E mode by having it display theKenneth R Westerback
details of the free space it calculates. Gives an easy way to see all the chunks of free sectors on the disk. ok beck@
2008-01-08Ensure that the initial free space chunk can't have a length <= 0.Kenneth R Westerback
2008-01-08Do initial free space count *after* resolving overlapping partitions.Kenneth R Westerback
This removes the last need for has_overlap() to touch the free space counter. So eliminate that parameter.
2008-01-07Oops. Need to ensure we zero selected partition too.Kenneth R Westerback
2008-01-07When increasing d_npartitions as a result of (a)dd'ing a partition inKenneth R Westerback
-E, zero intervening partitions as well as the specified partition so no partitions are inadvertantly activated.
2008-01-07Shrink & simplify some more -E code. Remove some chances for userKenneth R Westerback
error. 1) Don't accept a partition offset in used space. 2) Make the default size the space available from the offset to the end of the free chunk the offset is in. 3) Make (m)odify ask the questions in the same order as the (a)dd command. i.e. filesystem type after offset/size. 4) Make it more obvious new partitions default into the largest chunk of free space. 5) Nuke another now pointless function - next_offset(). "Looks reasonable" millert@
2008-01-06Kill some now-dead code/variables.Kenneth R Westerback
2008-01-06Move check for overlap inside get_size() as it was always called afterKenneth R Westerback
get_size() anyway. Allows elimination of make_contiguous() since we no longer allow overlaps to develop.
2008-01-06Calculate amount of free space by adding up space in free chunks, ratherKenneth R Westerback
than hand rolling another partition walking loop. No functional change.
2008-01-06There is no point in having cpg manipulated in -E. newfs does all theKenneth R Westerback
work anyway and ignores this value. So just set it to 1 and nuke get_cpg(), shrinking and simplifying. ok otto@ millert@
2008-01-03Remove text which is incorrect now that 'get bios geometry'Stuart Henderson
has been removed. ok krw
2008-01-01Oops. Missed a couple of unnecessary 'DL_GETPOFFSET()+DL_GETPSIZE() >Kenneth R Westerback
ending_sector' tests and one superfluous editor_countfree(). Rectify a few comments.
2008-01-01Fix display of overlapping partitions to account for larger size and offsetKenneth R Westerback
fields.
2008-01-01get_size() no longer allows DL_GETPSIZE()+DL_GETPOFFSET >Kenneth R Westerback
ending_sector, so no need to check for this condition after calling get_size().
2008-01-01Shorten and simplify code, eliminate ability to assign arbitrary sizesKenneth R Westerback
to existing FS_BOOT and FS_UNUSED partitions via -E, tighten up error verbiage. Feedback from jsing@. ok millert@.
2007-12-31Reset partition size as well as partition offset before asking forKenneth R Westerback
another, valid, set while adding a partition. Lost in r1.119 when we switched to DL_SETP* defines.
2007-12-30Use get_size() in editor_change() instead of hand-rolling identicalKenneth R Westerback
code. Makes the size prompt/helpstring/looping the same for (a)dd/(m)odify/(c)hange.
2007-12-30Kill some now unneeded checks for 'c' partition manipulation. ChangeKenneth R Westerback
the variable 'c' to 'partno' in editor_delete() so all editor_* functions are even more consistant. No functional change.
2007-12-30Simplify code by avoiding manual manipulations of the free spaceKenneth R Westerback
counter. Call edit_countfree() instead. Feedback from otto@. ok millert@ "Go for it" deraadt@
2007-12-30Since 'c' now always covers the entire disk and is always FS_UNUSED,Kenneth R Westerback
there is no point in allowing the edit mode commands (a)add/(n)ame/(m)odify/(d)elete/(c)hange to pretend to fiddle with it. Some already checked for and avoided 'c', but do it in a consistant manner in all cases. ok millert@ otto@ marco@
2007-12-30Bring editor_add() code into line with the other editor_* functions.Kenneth R Westerback
The only visible change is allowing only one chance to specify a valid partition letter before returning to the main edit prompt. "This looks OK to me" millert@