History log of /freebsd-9.3-release/lib/libdisk/
Revision Date Author Comments
267654 20-Jun-2014 gjb

Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


225736 23-Sep-2011 kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by: re (implicit)


221869 14-May-2011 attilio

Disconnect sun4v architecture from the three.

Some files keep the SUN4V tags as a code reference, for the future,
if any rewamped sun4v support wants to be added again.

Reviewed by: marius
Tested by: sbruno
Approved by: re


213573 08-Oct-2010 uqs

mdoc: drop redundant .Pp and .LP calls

They have no effect when coming in pairs, or before .Bl/.Bd


211725 23-Aug-2010 imp

MFtbemd:

Prefer MACHNE_CPUARCH to MACHINE_ARCH in most contexts where you want
to test of all the CPUs of a given family conform.


197374 21-Sep-2009 nyan

Disable a check on a disk size because it's too strict. This change is
to avoid using incorrect geometry.

It seems that this is the same problem in g_part_bsd_read()@g_part_bsd.c.

Reviewed by: rink
MFC after: 3 days


197322 19-Sep-2009 nyan

Correct BIOS header sanitizing on pc98.

MFC after: 3 days


194334 17-Jun-2009 lulf

- Allow a higher value for the number of heads. Its better to do this and allow
a few bad systems to run than to be completely strict about it.


194244 15-Jun-2009 lulf

- The maximum number of heads is 255, not 256.

Pointed out by: marcel


194243 15-Jun-2009 lulf

- Remove old and add new valid flags for the chunk structure.

Submitted by: randi


194241 15-Jun-2009 lulf

- Relax sanitazion requirements in libdisk, as a previous commit enabling this
sanitization broke sysinstall on some disks. This was due to the disks
reporting a geometry that was incorrectly sanitized by sysinstall. This makes
the sanitization consistent with fdisk.

Tested by: randi


192424 20-May-2009 marcel

Simplify now that we have gpart.


188408 09-Feb-2009 lulf

- Sanitize disk parameters retrieved from GEOM, as they are not guaranteed to
have sane values. It caused sysinstall to crash when installing on certain SD
cards.

Discussed with: marcel


178765 04-May-2008 gonzo

Add MIPS support to libdisk

Approved by: cognet (mentor)


178451 24-Apr-2008 marcel

Add support for gpart:
o Correct for gpart's 1-based index, versus 0-based index used by
legacy slicers.
o Parse and understand the xs and xt parameters.


178432 23-Apr-2008 marcel

Correct an off-by-1 for GPART. The literal partition type (i.e.
the actual UUID) is prefixed by '!' to distinguish them from
well-known aliases.

MFC after: 3 days


176322 15-Feb-2008 antoine

- Make Disk_Names() behave as documented in libdisk(3): return an array
of disk names, where you must free each pointer, as well as the array
by hand. [1]
- Destaticize "disks" in Disk_Names, it has no reasons to be static.

PR: kern/96077 [1]
PR: kern/114110 [1]
MFC after: 1 month
Approved by: rwatson (mentor)


173881 24-Nov-2007 mtm

Hmmm, must get reading glasses or else change the font on my terminal. That
comma looks like a period.

Noticed by: brueffer


173791 20-Nov-2007 mtm

Enclose entire header in #ifndef _LIBDISK_H_


173738 18-Nov-2007 mtm

Capitalization


172286 21-Sep-2007 marcel

Translate partitions of type "PART" to chunks of the same type
as they would have been translated from partitions of type "GPT".
This fixes sysinstall, now that geom_part has taken over from
geom_gpt.

Approved by: re (kensmith)


172285 21-Sep-2007 marcel

On PowerPC, geom_part has taken over the partitioning from geom_apple.
Translate partitions of type "PART" to chunks of type "apple" on
PowerPC. This fixes sysinstall.

Approved by: re (kensmith)


171734 05-Aug-2007 rink

Improve error handling in libdisk while parsing the kern.geom.conftxt sysctl.
Previously, any parse error will result in the calling program exiting with an
unpleasant message. This change will cause libdisk to issue a warning and
ignore lines it cannot parse instead of bluntly terminating the unfortunate
enough program.

This change will allow you to use sysinstall if you have a NTFS parition with
a space in the name (such as 'Win Xp'). In such a case, a line like the
following will appear in the kern.geom.conftxt output:

2 LABEL ntfs/Win Xp 209818635264 512 i 0 o 0

As the fields are space-separated, libdisk would go beserk and exit the program.
This would happen if using FreeBSD 7.0 snapshot images (as GEOM_LABEL is in
the installation kernel as well), thus making it impossible to install FreeBSD
without renaming your NTFS paritions.

Reported by: Dwight Berendse <dwight at berendse dot org>
Nod from: phk
Reviewed by: imp
Approved by: re (bmah), imp (mentor)
MFC after: 1 month


163149 09-Oct-2006 kmacy

unbreak build for sparc64 etc.
TARGET won't be defined on non subarches

Approved by: rwatson (mentor)
Reviewed by: jmg


163148 09-Oct-2006 kmacy

buildworld fixes for sun4v
not sure why pmap.c is included as it is unchanged

Approved by: rwatson (mentor)
Reviewed by: jmg


161547 23-Aug-2006 ru

Remove alpha-specific stuff.


161135 09-Aug-2006 marcel

Fix a bug in the size of the PMBR partition. Since the partition starts
at LBA 1, the size is not the mediasize in sectors, but one less.


158033 25-Apr-2006 maxim

o Add IDs for Plan9, QNX4.X, Mac OS-X, Linux exteneded partitions.

PR: bin/96326
Submitted by: Alex Kozlov
MFC after: 2 weeks


155036 30-Jan-2006 harti

Instead of printing several pieces with .Sy just enclose the 'Note' block
into a .Bf/.Ef pair.

Submitted by: ru


154917 27-Jan-2006 harti

The .Nm macro prints Open_Disk() instead of libdisk, so use an explicite
argument to get 'libdisk'. Also bump the date of the man page.


154915 27-Jan-2006 harti

Revert 1.45 now that snmp_hostres uses libgeom.


154814 25-Jan-2006 cognet

Add a dummy arm Write_Disk() function, and compile libdisk on arm.


154247 12-Jan-2006 ru

Build shared library on behalf of bsnmpd.


152758 24-Nov-2005 ru

Fix prototypes.


145013 13-Apr-2005 nyan

Merge two slice_type_name() functions.


144334 30-Mar-2005 nyan

Add over 32GB disk support on pc98 (userland part).

Submitted by: Hirokazu WATANABE


143306 08-Mar-2005 stefanf

Initialise `sn' before using its value.


141846 13-Feb-2005 ru

Expand *n't contractions.


139720 05-Jan-2005 delphij

Remove an unnecessary defination of New_Chunk, which has been
defined in libdisk.h.


139389 29-Dec-2004 trhodes

Various markup and spelling fixes.

PR: 75574
Submitted by: Nobuyuki Koganemaru <n-kogane@syd.odn.ne.jp> (original version)


139167 22-Dec-2004 yongari

Plug memory leak.

MFC after: 1 week


139106 21-Dec-2004 ru

NODOCCOMPRESS -> NO_DOCCOMPRESS
NOINFO -> NO_INFO
NOINFOCOMPRESS -> NO_INFOCOMPRESS
NOLINT -> NO_LINT
NOPIC -> NO_PIC
NOPROFILE -> NO_PROFILE


137512 10-Nov-2004 phk

Add 0xbf (191) as new Solaris partition identifier.

Submitted by: Lawrence.Lee@sun.com


137092 31-Oct-2004 marcel

Don't barf when we encounter an UUID for GPT partitions. Instead, add
the GPT partition on i386 and adm64 as type=gpt, subtype=0 and with the
sname set to the UUID. This prevents sysinstall from bombing out. This
also makes sure the GPT partition shows up in sysinstall so as to avoid
accidental "clobberage".

PR: bin/72896


136910 24-Oct-2004 ru

For variables that are only checked with defined(), don't provide
any fake value.


135153 13-Sep-2004 pjd

We have now so many GEOM classes that it is better to just skip unknown
classes than exiting.

Reviewed by: le
OK'ed by: phk


135145 13-Sep-2004 le

Ignore geom_stripe providers.

MFC in: one week


133179 05-Aug-2004 marcel

Don't use type unknown for partitions that we don't care about because
the chunk will never be added to the list in that case. Use type mbr
for GPT nested MBRs and use type part for any partition we don't know
or care about. Since the subtype is 0, this should not cause confusion.


133032 02-Aug-2004 le

Typo in comment.


133028 02-Aug-2004 le

Ignore geom_vinum providers.


131504 02-Jul-2004 ru

Mechanically kill hard sentence breaks.


130067 04-Jun-2004 brian

Handle read_block() failures by ignoring the disk rather than
dumping core.


129302 16-May-2004 stefanf

Remove spurious semicolons. Outside of functions they are actually errors but
GCC doesn't warn about them without -pedantic.

Approved by: das (mentor)
PR: 56649
Reviewed by: md5


128541 21-Apr-2004 grehan

PowerPC support.

submitted by: Suleiman Souhlal <refugee@segfaulted.com>
approved by: phk, jhb


127617 30-Mar-2004 nyan

MFi386: WARNS=4 clean.


127604 30-Mar-2004 kuriyama

Down to WARNS=2 for a while.


127595 30-Mar-2004 kuriyama

Make libdisk WARNS=4 clean.

Glanced by: jhb


127081 16-Mar-2004 jhb

Change libdisk and sysinstall to use d_addr_t rather than u_long for disk
addresses. For arch's with 64-bit longs, this is a nop, but for i386 this
allows sysinstall to properly handle disks and filesystems > 1 TB.

Changes from the original patch include:
- Use d_addr_t rather than inventing a blkcnt type based on int64_t.
- Use strtoimax() rather than strtoull() to parse d_addr_t's from config
files.
- Use intmax_t casts and %jd rather than %llu to printf d_addr_t values.

Tested on: i386
Tested by: kuriyama
Submitted by: julian
MFC after: 1 month


126176 23-Feb-2004 johan

style.Makefile:
Use WARNS?= instead of WARNS=.


125253 30-Jan-2004 marcel

In Write_Disk(), fix the non-error case where we returned to the
caller without closing the disk device and freeing allocated
memory. Not closing the disk device prevents GEOM from retasting
after spoiling.

Pointy hat: marcel


125124 28-Jan-2004 marcel

Fix an uninitialized variable bug that caused write_pmbr() to bogusly
return an error value that made Write_Disk() abort. While on the
subject, improve the initialization of the error variable in read_gpt()
and update_gpt() even though nothing was broken there.


125084 27-Jan-2004 nyan

Fixed pc98 partition type.


122839 17-Nov-2003 marcel

Declare crc32 static. There's a copy in libz that conflicts for the
crunched binary.

Found by: make release


122570 12-Nov-2003 marcel

The partition naming on ia64 (e.g. da0p1) cannot be selected based
on whether the parent chunk is of type whole. This also applies to
MBR slices for non-GPT disks. Since most of the GPT handling is
conditionally compiled, do the same with the partition naming.

This fixes a braino that caused slices to be named as GPT partitions
and generally messing up an install.

Pointy hat: marcel


122025 04-Nov-2003 marcel

o Save a copy of the GPT entries for which there's a chunk with an
index referencing it. We need to know the original type and name
so that we know what to put in the table when we reconstruct it.
o Clear the table entries before we rebuild it to avoid that we
end up with stale data.
o Sequentially populate the table entries from the chunks. For the
chunks that have an index (now referencing the saved copy) we
use the saved type and name. This way we can handle unknown types
better. In all cases we update the start and end LBAs.


121931 03-Nov-2003 marcel

Don't divide the start and end of the chunk by the sector size when
filling in the GPT entry. Both are already in sector numbers (LBA)
and exactly what we need for the entry. We now write a structurally
correct GPT partitioning.


121930 03-Nov-2003 marcel

Fix two bugs in the calculation of the last LBA of the GPT covered
part of the disk. The first appears to be a typo and instead of
dividing the media size with the sector size, we multiplied. The
second is an off-by-1 error that's the result of mixing up count
and index. The code in question is only applicable for virgin disks
and is used to create the "whole" chunk, which covers only the GPT
usable portion of the disk.


121921 03-Nov-2003 marcel

Rewrite Write_Disk() so that it creates a GPT. Note that the code is
basicly untested, but the guts is all there. I need to free up a disk
before I give it a spin.


121889 02-Nov-2003 marcel

Turn Write_Disk() into a stub for now. It needs to be rewritten to
write out a GPT and not a MBR.


121888 02-Nov-2003 marcel

o Move Int_Open_Disk() from disk.c to open_disk.c for use by all
platforms except ia64 and use Int_Open_Disk() in open_ia64_disk.c
on ia64. We need to know more than GEOM can provide us so we're
forced to read from the disk. Move uuid_type() to open_ia64_disk.c
and remove all references on non-ia64.
o Pass the GEOM conftxt to Int_Open_Disk() so that only Open_Disk()
needs to know about GEOM and libdisk can more easily be used with
media not handled by GEOM.
o Create an ia64 specific definiton of struct disk on ia64, because
we don't need/have most of the fields other platforms need and
other fields not applicable on platforms other than ia64.
o Do not compile change.c on ia64. It's too PC specific.
o In Fixup_Names() in create_chunk.c, try all partition numbers
that are valid for the GPT disk. We have the total number of
partitions that can be allocated in the disk structure on ia64.
Also, use the GPT partition naming if we're creating one under
a chunk of type "whole". It's a GPT partition in that case.
o In Create_Chunk(), compile-out the PC specific code on ia64 that
checks BIOS geometry restrictions.
o In Debug_Disk() in disk.c, dump the ia64 specific fields.
o Save the partition index in the chunk on ia64 so that we can
preserve it when we write the data back to disk. This avoids that
partitions get moved around or swapped after installing FreeBSD,
which may render a disk unusable.


121887 02-Nov-2003 marcel

Do not fill in d_ncylinders, d_ntracks and d_nsectors in the disklabel
on ia64. Not only do we not have a disklabel by default, we also do
not have a notion of cylinders, tracks and sectors.


121886 02-Nov-2003 marcel

Compile-out support for allfreebsd, dedicate, sanitize and bios on
ia64. These commands are PC specific and not supported.


121885 02-Nov-2003 marcel

Turn Track_Aligned(), Prev_Track_Aligned(), Next_Track_Aligned(),
Cyl_Aligned(), Prev_Cyl_Aligned() and Next_Cyl_Aligned() into
tautologies on ia64. GPT removes all notion of tracks, heads and
sectors per track, so there are no alignment considerations.


121883 02-Nov-2003 marcel

o In Print_Chunk(), don't print the address of the chunk on ia64. It
doesn't have any meaning and only results in lines longer than 80
characters.
o In Delete_Chunk2(), also look for chunks of type "part" under
chunks of type "whole" on ia64. They're not only under chunks of
type "freebsd" there.


120522 27-Sep-2003 rwatson

Disable #define DEBUG in libdisk by default: since libdisk is primarily
there to support sysinstall, and enabling DEBUG creates spurious
console output that can't be read anyway... This slightly cleans up
the visual impression of the system install by not spamming the console
during the labeling of the disks.


119532 28-Aug-2003 obrien

Ignore ccd(4)'s. This is not the best solution, but it at least removes
the "BARF 360" ccd(4) user's experience.

Submitted by: rwatson


115981 07-Jun-2003 scottl

Sanity check the list obtained from the kern.disks sysctl so that Disk_Names()
doesn't get fooled into returning a bogus list. This should fix sysinstall
from segfaulting when no disk devices are present.


114329 30-Apr-2003 peter

Teach libdisk that AMD64 works just like i386


114300 30-Apr-2003 obrien

Only define platform once -- in a C file.


113901 23-Apr-2003 phk

Fix a compiler warning.

Submitted by: David Leimbach <leimy2k@mac.com>


113840 22-Apr-2003 phk

Fix compilation errors.

I wonder how I managed to cross-compile this yesterday.


113823 21-Apr-2003 phk

Update libdisk to use the explicing encoding function for sunlabel data
structures.


113085 04-Apr-2003 phk

Use sized cast matching the sized pointer.


113083 04-Apr-2003 phk

Libdisk does not need to include <sys/diskslice.h> any more.

Move the remaining bits of <sys/diskslice.h> to <i386/include/bootinfo.h>

Move i386/pc98 specific bits from <sys/reboot.h> to
<i386/include/bootinfo.h> as well.

Adjust includes in sys/boot accordingly.


112540 24-Mar-2003 charnier

The .Nm library


112333 17-Mar-2003 phk

Ignore GBDE devices.

Spotted by: Lucky Green <shamrock@cypherpunks.to>


110454 06-Feb-2003 nyan

Fix build error.


110339 04-Feb-2003 jhb

- Remove unused old disk pointers from Write_FreeBSD() and Fill_Disklabel()
functions.
- Clean up a few signed/unsigned warnings.


110338 04-Feb-2003 jhb

Remove mostly unused disk arguments from Fixup_*_Names() functions.


109082 10-Jan-2003 jhb

Use the fstype obtained from the GEOM dumpconf output to set the fstype
of BSD part chunks when opening a disk.

Reviewed by: phk
MFC after: 2 days


109080 10-Jan-2003 jhb

- Make New_Disk() non-static so it can be used in Create_Chunk_DWIM().
- In Create_Chunk_DWIM(), if there is a freebsd chunk that has no
children chunks, then trying to add a child part chunk will fail even
though there is free space. Handle this special case by adding an
unused chunk the full size of the freebsd chunk as a child of the
freebsd chunk before adding the new part chunk. This situation can
happen when changing the type of an existing slice to be a FreeBSD
slice type or when installing onto a blank disk on Alpha (which has
no slices.)

Reviewed by: phk
MFC after: 2 days


108650 04-Jan-2003 nyan

Rename the dos_partition structure for pc98 to pc98_partition.


108533 01-Jan-2003 schweikh

Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,
especially in troff files.


108292 26-Dec-2002 nyan

Return an error if the size of the sector is zero. This is for removable
devices that is not inserted any media.

This is MFC candidate.

Submitted by: ISAKA Yoji <isaka@cory.jp>


107619 04-Dec-2002 ru

Consistently mark std(in|out|err) with .Dv, because that's how they
are marked up in stdio(3), and because they are defined expressions
of type "FILE *".

Approved by: re


107531 02-Dec-2002 jhb

Break up a bunch of crazy if statements to use a case statement instead
to be cleaner. Also, when deleting a chunk, try to find the mother chunk
as a whole chunk by default if this isn't a BSD partition or a unused or
whole chunk. Before we just did this for FreeBSD and FAT slices, which
means that other chunk types such as EFI and mbr (mbr is used for slices
that don't have their own chunk type).

Submitted by: nyan (mostly)
Approved by: re


107011 17-Nov-2002 nyan

- Ease sanity check to get cylinders.
- Get the slice name from the result of kern.geom.conftxt.


106949 15-Nov-2002 nyan

Fixed style(9)


106837 13-Nov-2002 marcel

Handle EFI partitions the same as regular FAT partitions. The only
difference between the two from a low-level point of view is that
the partition type is different. This change adds EFI related cases
to existing switch statements with existing FAT related cases.


106784 11-Nov-2002 davidc

- Document the chunk_name() function that replaces chunk_n[].
- Rearrange things a tiny bit.


106783 11-Nov-2002 davidc

Remove parameter names from function prototypes (at least one collided
with stdlib.h).

discussed with: phk


106761 11-Nov-2002 phk

Remove debugging printfs.


106752 11-Nov-2002 marcel

MBR slices are named the same on ia64 as they are on i386.


106745 10-Nov-2002 jake

Write the boot block to the first 16 sectors of all partitions, instead of
always to the first 16 sectors of the disk. The firmware reads the boot
code from a partition, defaulting to 'a' if none is specified, which only
corresponds to the first 16 sectors of the disk if 'a' is first. Solaris
often makes the swap partition first, instead of the root partition, and
users expect to be able to do the same with freebsd as well. This also
allows one to temporarily boot from another partition if the boot block
on the root partition gets scrambled somehow.


106743 10-Nov-2002 marcel

Add efi to the list of types for which we need to return tha name.
Also, return chunk type efi in case we find an EFI partition in
the GPT. We used to return FAT due to a lack of EFI type.


106742 10-Nov-2002 marcel

Add an efi chunk type. We need to be able to create an EFI partition
on ia64, because that's where we need to put the loader and the
kernel.


106741 10-Nov-2002 marcel

General cleanup:
o Remove all code guarded by !defined(__ia64__). This file is
specifically written for ia64,
o Handle the case when read_block() or write_block() fails. We
don't want sysinstall(8) to signal a thumbs-up on error,
o Set the starting (cyl,hd,sect) triple to 0xFFFFFF when either
bios_hd or bios_sect is zero or the LBA us not representable
with the triple. In that case automaticly initialize the
ending triple with 0xFFFFFF as well,
o Reindent Write_Int32() as it was different than the rest of
the file,
o Remove some unused variables that appeared to be used but
were effectively useless.
o Plug a memory leak: The second timne we read the MBR, we write
out a modified block, but didn't free the memory after writing.
o Replace d1->sector_size with 512 when we read/write the MBR.
We ignore the sector size in cases we shouldn't but adhered to
it in cases it would be wrong if the sector_size wasn't 512.

This file should eventually be rewritten to write out a GPT. For
now, a MBR will do...


106633 08-Nov-2002 nyan

- Recognize FAT partition on MBR and PC98 disks.
- Fix to convert to the name of partition.


106623 08-Nov-2002 nyan

MFi386: revision 1.4.


106622 08-Nov-2002 jhb

Don't set a variable to a bogus value right before setting it to the
correct value in the next statement.


106621 08-Nov-2002 jhb

Don't set a value to a variable that we don't use.


106619 08-Nov-2002 jhb

- Merge Write_FreeBSD() into Write_Disk().
- Miscellaneous cleanups.


106549 07-Nov-2002 nyan

Fixed pc98 support.
(merged i386 changes from chunk.c 1.41 and disk.c 1.100)


106548 07-Nov-2002 jhb

Get this closer to working. The Write_Disk() function's for loop needed
to use the same start condition as the i386 version. However, since
Alpha's only have one fake "slice" from sysinstall's perspective we don't
need to use a loop, but can just write out the BSD label in the first
fake "slice".


106384 03-Nov-2002 jhb

Remove unused MBR gunk leftover from i386.


106373 03-Nov-2002 nyan

Fix to compile for pc98.


106368 03-Nov-2002 marcel

Initialize d->bios_cyl. We know the media size in sectors, the number
of heads end the number of sectors per track. If there's an obvious
insanity (heads and sectors are both zero or the media size is not
an integral multiple of heads times sector) we set the number of
cylinders to zero.


106343 02-Nov-2002 marcel

Add support for GPT:
1. When the parition type is not an integer, try to parse the type
as an UUID. If that succeeds, map the UUID to chunk_e.
2. For GPT partitions, pass the type constructed in point 1 above
to Add_Chunk.

While here, fix the MBREXT case by only checking if the first 3
characters are MBR. This avoids duplication.


106342 02-Nov-2002 marcel

Add support for ia64. This is almost identical to i386, except that
with GPT chunks of type "part" do not necessarily live under chunks
of type "freebsd". We don't necessarily have a disklabel.


106337 02-Nov-2002 phk

Don't claim all MBR's have subtype 165 on i386.

Spotted by: Frode Nordahl <frode@nordahl.net>


106303 01-Nov-2002 phk

Fill in partition 2 with with "whole disk" parameters.


106241 31-Oct-2002 phk

Style(9) improvements.


106240 31-Oct-2002 phk

Set the sector size for the disk.


106238 31-Oct-2002 nyan

Restore to pc98 support.


106237 31-Oct-2002 nyan

Use ${MACHINE} variable instead of using '.if .endif' each machines.


106236 31-Oct-2002 nyan

Add '#include <err.h>' for warn().


106232 31-Oct-2002 jake

Actually save the bootblock in the disk structure. Write the bootblock
to the right place on the disk instead of srewn all over it.


106223 30-Oct-2002 phk

Untested alpha disk writer.


106222 30-Oct-2002 phk

Write out 15 sectors of boot code.


106155 29-Oct-2002 phk

Getting closer to getting things right:
Always ignore the RAW_PART for BSD.
Having no quirks is not a mistake for an architecture.

Tested by: DES


106141 29-Oct-2002 phk

Don't call warn(3).


106135 29-Oct-2002 phk

Since make release is toast anyway, add wood to the pyre:

This significantly rewamps libdisks discovery of existing disk
layout.

Please send me reports if this does not work as expected on
i386 or sparc64 platforms.

I need to sort out alpha, pc98 and ia64 (in that order) before
testing on those platforms make a lot of sense.

Belived to work for: i386 sparc64
Unknown state: pc98 alpha ia64


106116 29-Oct-2002 phk

Fix various minor issues.
Don't explode on 'write' because we access a pointer we just freed.


106114 29-Oct-2002 phk

the 'd' partition hasn't been magic for years, so allocate it in natural
order instead of last.


106113 29-Oct-2002 phk

Add the write_spar64_disk.c to make life easier for testers.

This file depends on some major surgery in the rest of libdisk which is
not yet committed.


106008 27-Oct-2002 peter

Add back ia64 support that was removed in the last few revisions.
I've cloned write_ia64_disk.c from write_i386_disk.c.


105873 24-Oct-2002 gallatin

#ifdef out assignToPartition on non x86 arches to unbreak the world
on alpha, sparc64 and ia64


105821 23-Oct-2002 phk

More lobotomy:
remove CHUNK_BSD_COMPAT, it was a bad idea, and now its gone.
remove DOSPTYP_ONTRACK, missed in OnTrack removal commit.
unifdef -DHAVE_GEOM
make tst01 compile again.


105820 23-Oct-2002 phk

Remove another 10 mindless #ifdefs.


105818 23-Oct-2002 phk

Rely on sysctl kern.disks to be there, and get rid of one of the far too
many lists of disk device driver names in the system. At this point
we should really get the names from the XML, but hey...


105817 23-Oct-2002 phk

Remove unnecessary ioctls tickling kernel side to realize that we fiddled
with the disk. GEOM will automatically retaste when we closet he filedesc.


105816 23-Oct-2002 phk

Untangle #ifdefs in the write-end of things by giving each arch its
own file and own copy of WriteDisk() to do things in.

This should have happened years ago, instead of adding #ifdefs all
over the place.


105815 23-Oct-2002 phk

Separate the struct disklabel filling stuff from the rest of Write_FreeBSD().


105791 23-Oct-2002 nyan

- The GEOM system does not work on pc98.
- Fix to build w/o the HAVE_GEOM option.


105784 23-Oct-2002 phk

Add the new extra argument also in the alpha case.


105711 22-Oct-2002 phk

No longer needed.


105707 22-Oct-2002 phk

Remove the last traces of bogus MAKEDEV functionality.


105688 22-Oct-2002 phk

Live with it: I had hoped to find a neat way to deal with all the magic
numbers, but so far havn't come up with anything: Add an #ifdef PC98.


105685 22-Oct-2002 phk

Avoid a lot of #ifdef PC98 code by giving a couple of the Chunk functions
an extra argument for all archs.


105681 22-Oct-2002 phk

Swing the weed-whacker around libdisk:

Constify some things.
Staticize some things.
Remove some unused things.
Prototype some things.
Don't install a gazillion man-pages links.
Drop support for ON-TRACK disk-manager.


105662 21-Oct-2002 phk

Lobotomize MakeDev(), we don't need it with devfs.


105652 21-Oct-2002 phk

Sigh, d_ntracks, not d_nheads.


105646 21-Oct-2002 phk

fwheads and fwsectors got swapped underway.

Approved by: sam


105575 20-Oct-2002 sam

Another baby step toward getting sysinstall working:

o fillin media s/h/c fields from new XML phk just added; need this because
sysinstall uses them in the fdisk look-alike
o add new tags to xml parser
o cleanup parser a touch; remove unused tags and move tag parsing stuff to
a table to simplify future additions
o redo callback to pass 64-bit values since mediasize overflows u_int32_t
o loosen parsing sanity checks a touch to deal with new xml we must handle
o move sector size probing to non-geom handling since we now get it from xml
o remove WHOLE_DISK_SLICE buggery now that we get mediasize from xml


105460 19-Oct-2002 sam

o since you can't use DIOCGDINFO and DIOCGSLICEINFO on drive nodes with geom,
get the xml configuration for the devices and "parse" the information to
get what's needed
o replace #ifdef DEBUG constructs with DPRINT/DPRINTX to make the code more
readable

Note the xml "parser" is very very hackish and should be replaced with a
real one. This one was done to be very small and special-purpose; don't
think about copying it elsewhere.

Approved by: phk


105366 18-Oct-2002 sam

not sure if this correct, but it compiles again


105349 17-Oct-2002 sam

o ioctl DIOCGDINFO error wasn't checked
o memory wasn't reclaimed in certain cases
o add more msgs under #ifdef DEBUG
o rewrite tangle of for loops for clarity

NB: Open_Disk should redo how it malloc's memory so the caller can free
everything. Documentation says the caller can free the disk list to
reclaim everything but this leaks the indirect strings. Fixing this
is simple for the sysctl case but adds complexity to the fallback,
non-sysctl, case.


105348 17-Oct-2002 sam

correct arg order to strlcpy/strlcat under #ifdef alpha


105105 14-Oct-2002 nyan

Fix to check disk geometry.

Submitted by: kawanobe@st.rim.or.jp (Kawanobe Koh)


105007 12-Oct-2002 kris

Use buffer-safe string functions for paranoia.


105005 12-Oct-2002 kris

Zero memory after malloc. This stops sysinstall from dumping core
during disk probing with malloc debugging enabled.

MFC after: 1 week


104674 08-Oct-2002 nyan

Fix to support pc98.


104469 04-Oct-2002 phk

White-space change only. Move closer to style(9).


104362 02-Oct-2002 phk

#include the right thing for PC98

Sponsored by: DARPA & NAI Labs.


104272 01-Oct-2002 phk

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.


97628 30-May-2002 wollman

Use correct printf format specifier to print unsigned longs.


96518 13-May-2002 ru

NOSHARED is meaningless in the bsd.lib.mk context.


96475 12-May-2002 phk

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.


93149 25-Mar-2002 phk

Modernize my email address.


88995 07-Jan-2002 dillon

Modify Delete_Chunk() into Delete_Chunk2() which can take a flags
argument. Leave a compatibility shim for Delete_Chunk().

Implement DELCHUNK_RECOVER flag so sysinstall can ask libdisk
to recover space when deleting a chunk.


88448 23-Dec-2001 phk

Sort the disknames when we get them from the kernel.

Submitted by: <anarcat@anarcat.dyndns.org>


87581 09-Dec-2001 dillon

Add auto-fill-on-delete. When deleting an 'A'uto created partition
sysinstall will automatically expand the previous partition to take up
the freed up space. So you can 'D'elete /home and /usr will get the
combined space, or you can 'D'elete /tmp and /var will get the combined space.

This gives the user, developer, or lay person a huge amount of flexibility
in constructing partitions from an 'A'uto base. It takes only 3 or 4
keystrokes to achieve virtually any combination of having or not having
a /tmp and/or /home after doing an 'A'uto create.

Change 'A'uto creation of /var/tmp to 'A'uto creation /tmp, which should
be less controversial.

MFC after: 6 days


86260 11-Nov-2001 matusita

One more fix for sysinstall/libdisk to create a device file
if and only if a target directory is devfs. Previous patch
doesn't correct, it's unconditionally avoid to create a device
file if kernel knows devfs.

PR: 31109


84965 15-Oct-2001 peter

Add EFI GPT (238, 0xEE) and EFI System Parition (239, 0xEF)


84748 10-Oct-2001 jkh

Check to see if the devfs MIB exists and return 1 if it exists rather
than making device node(s).
Submitted by: Hiroo ONO <hiroo@oikumene.gcd.org>


84394 03-Oct-2001 bde

Fixed bitrot in synopsis. The change of the return type of
Set_Boot_Blocks() from void to int had not reached here. Callers
still don't check the new return value.


84306 01-Oct-2001 ru

mdoc(7) police: Use the new .In macro for #include statements.


84200 30-Sep-2001 dillon

Add __FBSDID()s to libdisk


81975 20-Aug-2001 kris

Mark some functions as __printflike() and/or taking const char * arguments
instead of char *.

MFC after: 2 weeks


81622 14-Aug-2001 ru

mdoc(7) police: s/BSD/.Bx/ where appropriate.


81449 10-Aug-2001 ru

mdoc(7) police: protect trailing full stops of abbreviations
with a trailing zero-width space: `e.g.\&'.


79754 15-Jul-2001 dd

Remove whitespace at EOL.


76551 13-May-2001 jkh

+ add u_long sector_size to struct disk (documented in libdisk.3)
+ make Open_Disk sense the sector size by trying 512, 1024 and 2048
in this order. This makes the kernel note that
dscheck(cd1): bio_bcount 512 is not on a sector boundary (ssize 2048)
dscheck(cd1): bio_bcount 1024 is not on a sector boundary (ssize 2048)
if 2048 is the sector size. If this worries anyone: the message is from
/usr/src/sys/kern/subr_diskslice.c and shutups are to be placed there.
+ Have read_block and write_block use an additional parameter, the
sector size.
+ replace all barfout calls with return NULL, 0, __LINE__, etc.
Note that this does NOT emit diagnostics. More often than not,
you don't want library functions to scribble on stderr -- it may
not even be available. The right thing is to propagate the error
condition to upper management. The app should take care of errors.
+ use d1->sector_size instead of 512 in various places. I've left many
places untouched, especially those writing MBRs. I simply added
another arg hardcoded as 512. This is because I would not know what
I'm doing... I felt this approach would be reasonably backward
compatible and not introduce any new bugs in critical software.
Famous last words. Messing with MBRs might soon put me in the same
screwup meister category as, uh, never mind. :-)
+ bump the max no of disks from 20 to 32 (due to PR 24503).

PR: 8434 / 8436 / 24503
Submitted by: Jens Schweikhardt <schweikh@schweikhardt.net>


75069 01-Apr-2001 obrien

Add spaces around operators.
It's OK, the Project and afford them now -- they aren't as expensive as
they used to be.


75068 01-Apr-2001 obrien

Correct a comment.


75067 01-Apr-2001 obrien

Try to untangle some of the #ifdef spaghetti.
Also, looking to the future, don't assume all the world is an i386 and all
its disk layout brain damage will be repeated by other platforms. So all
the diking out if we are an Alpha, becomes adding in if we are an i386.


75066 01-Apr-2001 obrien

Add back <err.h> for warn().
(of course it's pretty stupid to call it, as printf doesn't work w/in
sysinstall, and sysinstall is the only consumer of libdisk)


75065 01-Apr-2001 obrien

Quiet warnings on the Alpha.


75064 01-Apr-2001 obrien

Add back <err.h> for warn().
(of course it's pretty stupid to call it, as printf doesn't work w/in
sysinstall, and sysinstall is the only consumer of libdisk)


74870 27-Mar-2001 ru

MAN[1-9] -> MAN.


74426 18-Mar-2001 obrien

Libraries should _never_ call exit() themselves (or its alternate spelling
`err()'). libdisk does! and additionally libdisk gets confused on Alpha
disks with foreign disklabels, throws up its hands and exits. This is
the cause of the "going no where without my init" install bug on the Alpha.

So now on the Alpha, rather than call err(), we print the error string and
continue processing.

Submitted by: jkh


72062 05-Feb-2001 bde

Fixed bitrot in prototype(s) in synopsis.


71895 01-Feb-2001 ru

mdoc(7) police: split punctuation characters + misc fixes.


70481 29-Dec-2000 ru

Prepare for mdoc(7)NG.


69920 12-Dec-2000 rnordier

Do install-time configuration of the i386 boot0 boot manager. At
present, this is limited to turning on the packet option if any of
disk slices begin above cylinder 1023. The effect of this change
should therefore be to automatically enable LBA support, as needed,
when installing FreeBSD.

Something-of-the-kind-requested-by: peter


69026 22-Nov-2000 ru

log


68716 14-Nov-2000 ru

Use Fx macro wherever possible.


68575 10-Nov-2000 ru

Avoid use of direct troff requests in mdoc(7) manual pages.


68409 06-Nov-2000 jkh

MFS: add ATA raid support for sysinstall


67417 21-Oct-2000 nyan

Use kern.disks sysctl on PC-98.


65921 16-Sep-2000 phk

Turn dkcksum() into an __inline function.

Change its type to u_int_16_t.


65801 13-Sep-2000 msmith

Teach libdisk about 'aac'


64555 12-Aug-2000 nyan

- Added support for installing boot0 and boot0.5 for PC-98.
- Cosmetic changes.


64379 08-Aug-2000 nyan

- Fixed warnings and typo.
- Recognize slice type 0x24 as FAT (only PC-98).

Submitted by: Nobuyuki Koganemaru <kogane@koganemaru.co.jp>


64324 07-Aug-2000 nyan

Don't use kern.disks sysctl on PC-98 because the wd driver doesn't call
disk_create() function.


63030 12-Jul-2000 jhb

- Allow support for MBR boot loaders that are longer than one sector. As
with fdisk, ensure that they are a multiple of the sector size in length.
- Axe all the 1024 cylinder checks as they are no longer relevant with the
fixed bootstrap.


62980 11-Jul-2000 kris

Don't call printf without a format string.


62223 28-Jun-2000 jhb

_PATH_DEV'ify libdisk


62008 23-Jun-2000 nbm

Let Disk_Names() take advantage of the kern.disks sysctl if it's
available. If not, it falls back to the existing hack and slash method.

A positive side effect is that non-root users may now use Disk_Names(),
for non-dangerous libh/disk.tcl testing.

Reviewed by: phk


61279 05-Jun-2000 nyan

Re-support "wd" if PC98 is defined. Because PC-98 still uses the wd driver.


61101 31-May-2000 msmith

/dev/rXXX -> /dev/XXX

This should fix sysinstall and other tools that don't expect the 'r' devices
to exist anymore (and thus don't create them).


61093 30-May-2000 msmith

De-support 'wd'; with it making a dual appearance with 'ad', things
depending on libdisk to detect a list of actually-there disk devices
were providing duplicate entries (eg. sysinstall).


60918 25-May-2000 alfred

fix stray 'i' from editor.


60908 25-May-2000 msmith

Teach libdisk about 'twe' disks.


60886 24-May-2000 jkh

catch up to the modern ATAPI disk naming conventions and add floppy
disks.

Submitted by: bde


59624 25-Apr-2000 joerg

Reassemble a sentence that has been botched in rev 1.4.

Reported by: Alexander Leidinger <Alexander@leidinger.net>


59506 22-Apr-2000 phantom

Introduce .Lb macro to libdisk manpage


59399 19-Apr-2000 obrien

Raw devices are now the normal device name, not prefixed with 'r'.


58794 29-Mar-2000 kato

Changes for PC-98.


58632 26-Mar-2000 charnier

lowercase error message


57898 10-Mar-2000 imp

Fix fd leak in libdisk's Disk_Names()


57856 09-Mar-2000 jlemon

Fix pointer addition bug (3 -> 4).

Submitted by: david.w.james@bt.com


57831 08-Mar-2000 jlemon

Correct device naming for IDA disk nodes (idad)


57306 18-Feb-2000 jkh

Hide more debugging behind isDebug(); what's currently
spewing out will only alarm people.


55955 14-Jan-2000 rgrimes

Replace beforeinstall target with new variables used by .mk system.

Reviewed by: marcel, and make world


55008 22-Dec-1999 phk

Just on the off-chance that somebody might use libdisk in a totally
lobotomized environment, say booted from a floppy with no /etc full
of password and group files, give sensible fallbacks for roots uid
and operators gid.

This might fix sysinstall.


54627 15-Dec-1999 jkh

Catch up to the fact that block devices are toast.
Teach about the afd driver.
Teach new char dev for ad driver.
Make ownerships correct.

Submitted by: jhb


53784 27-Nov-1999 msmith

Remove 'sd' support. SCSI disks are known as 'da' these days.


53749 27-Nov-1999 phk

Remove BAD144 support


52786 02-Nov-1999 msmith

Teach libdisk about the AMI and Mylex RAID drivers. You should be able
to install directly to arrays managed by these controllers now.


52595 28-Oct-1999 phantom

fix couple mdoc error
mention library name in header (.Nd field) - it allows to use "man -k libdisk"


50476 28-Aug-1999 peter

$Id$ -> $FreeBSD$


48585 05-Jul-1999 msmith

Merge from -stable; support for the 'ida' driver, move fla to major 102


47090 12-May-1999 msmith

Fix my own Pie Floater.

(Correctly handle 'wd' devices)


46787 09-May-1999 dfr

Back out the last change to disk.c - a kernel change removed the need.
Enabled writing to the disklabel when writing a disk (only affects alpha).


46731 08-May-1999 dfr

Make libdisk see the existing partitiions on the alpha.


46455 04-May-1999 msmith

Clean up after another half-Danish.

Add 'ad' as another known disk driver of the same kind as 'wd'.


46079 25-Apr-1999 imp

More egcs warning fixes:
o use braces to avoid potentially ambiguous else
o don't default to type int (and also remove a useless register
modifier).
o Use parens around assignment values used as truth values.
o Remove unused function.

Reviewed by: obrien and chuckr


43393 29-Jan-1999 jkh

More support for Alpha installs.

Submitted by: dfr


42669 14-Jan-1999 phk

Bring us one step closer to sysinstall'ing on a DOC2k device.


42387 08-Jan-1999 jkh

Changes for alpha support.

Submitted by: dfr


42187 31-Dec-1998 jkh

Eliminate all dependence on boot1 and boot2. This is passed in by
Set_Boot_Blocks() anyway and should thus have never been a part of
libdisk, it should have been provided by the client of libdisk since
passing the information in is already part of the API.


42182 30-Dec-1998 jkh

Transition libdisk to use /boot since what it's looking for (boot1 and boot2)
are now there.


42181 30-Dec-1998 bde

Backed out previous commit. It depends on a.out utilities and libraries
somehow being available even on pure elf systems.


42180 30-Dec-1998 bde

Fixed bootstrapping of /usr/mdec/boot[12].


41941 19-Dec-1998 phk

Add "fla" to Disk_Names()


40676 27-Oct-1998 msmith

Fixes for handling 'wfd' (and any other disk with a non-2-character name)
Submitted by: Some from Satoh Junichi (junichi@astec.co.jp)


40000 06-Oct-1998 dfr

Teach libdisk about alpha boot blocks.


39844 30-Sep-1998 jkh

Eliminate unaligned access on Alpha and also neaten up this code a little.
Submitted by: dfr


39252 15-Sep-1998 gibbs

Remove references to the "od" device.


37179 27-Jun-1998 jdp

Extend the existing hackery to set the disk type to SCSI for the
"da" and "od" devices. Formerly ESDI was used for them, causing
problems for fresh installations of CAM systems.


36692 06-Jun-1998 jkoshy

Spelling corrections.

PR: 6868
Submitted by: Josh Gilliam <josh@quick.net>


36182 19-May-1998 obrien

Add new NetBSD FFS with FDISK partition ID 0xa9

Obtained from: Frank van der Linden <frank@wins.uva.nl>


36081 15-May-1998 obrien

Change an arbitarly hardcoded `10' to MAX_NO_DISKS, which is currently "20".
Otherwise can't see sd10 (obtained using wired down sd unit numbers),
reguardless of the number of actual disks you have.


34776 22-Mar-1998 jkh

Add Compaq & SCO partition types.
PR: 6092
Submitted by: Drew Derbyshire <ahd@kew.com>


34729 20-Mar-1998 jkh

MF22: teach about LS-120 devices.


34669 19-Mar-1998 charnier

.Sh AUTHOR -> .Sh AUTHORS. Use .An/.Aq


34579 14-Mar-1998 ache

Add more AIX/DOS/Win95 partition types


34148 07-Mar-1998 ache

Add primary fat-32


34037 05-Mar-1998 obrien

Reconized OpenBSD partitions.


33219 10-Feb-1998 jkh

Be more verbose if we can't determine device major/minor.


32647 20-Jan-1998 bde

Fixed #includes in the synopsis and in an example. <sys/socket.h>
isn't a prerequisite, since it isn't required for the prototypes
and isn't always needed to call the functions (the address family
might be a variable).


32558 16-Jan-1998 jkh

Non-intrusive changes to support Justin's CAM stuff.


31222 18-Nov-1997 jdp

Fix erroneous format string.


24014 19-Mar-1997 bde

Fixed this header to compile with gcc -pedantic -Werror (removed comma
at end of enum).


22993 22-Feb-1997 peter

Revert $FreeBSD$ to $Id$


21958 23-Jan-1997 obrien

Adds slice_type_name() which extends chunk_n[] for subtype's too.

Curorary review by: phk


21673 14-Jan-1997 jkh

Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.


20390 13-Dec-1996 jkh

Close PR#2198:

I've added an installation from optical disk drive facility.
This enables FreeBSD to be installed from an optical disk, which
may be formatted in "super floppy" style or sliced into MSDOS-FS
and UFS partitions.

Note: ncr.c should be reviewed by Stefan Esser <se@freebsd.org>
and cd.c by Joerg Wunsch <joerg@freebsd.org> before bringing this
into 2.2.

Submitted-By: Shunsuke Akiyama <akiyama@kme.mei.co.jp>


19989 27-Nov-1996 phk

Improve the Dangerously Dedidcated mode a bit. Not much, but a bit better.


17930 30-Aug-1996 peter

cmp -s || install -c ==> install -C


17032 09-Jul-1996 jkh

Cast lseek arguments appropriately.
Submitted-By: "Frank ten Wolde" <franky@pinewood.nl>


16613 23-Jun-1996 bde

Removed -g from CFLAGS.


15679 07-May-1996 wosch

``mv'' -> ``mv -f''
``rm'' -> ``rm -f''
so mv/rm may not ask for confirmation if you are not root


15444 29-Apr-1996 jkh

Fix mis-declared static arrays that made sysinstall SEGV in
Set_Boot_Blocks(). Boy, this one had me tearing my hair out!
I hate how the loader distinguishes between `extern char *foo' and
`extern char foo[]' sometimes! :-)


15441 29-Apr-1996 jkh

Move some warn()'s into DEBUG space since I don't need them coming
out in my curses interfaces and spamming my screen.


14792 24-Mar-1996 joerg

Make libdisk C++ aware:

- add __BEGIN_DECLS and __END_DECLS,
- add a bunch of ``const'' qualifiers all over the place,
- rename the `private' struct member into `private_data' to avoid the
clash with the C++ keyword.


14669 18-Mar-1996 jkh

Fix bogus MLINKS line. When is the old libdisk going to go away, BTW?


14665 17-Mar-1996 joerg

libdisk is now `adult':

. install libdisk.h into /usr/include
. add a (preliminary) manpage, mostly featured after phk's comments
in libdisk.h


14657 17-Mar-1996 peter

Repository copy src/release/libdisk to src/lib/libdisk as per recent
discussion on -core about disk partitioning tools etc.

Add NOPIC=yes to Makefile to prevent any possibility of version mismatch
because of the potential grave consequences. (as suggested by phk)

Note that this is also on RELENG_2_1_0, since the sysinstall stuff is
hopefully going to remain in sync.


12661 07-Dec-1995 peter

Update the -current sources from the 2.1 branch.

Approved (in spirit) by: jkh


10286 26-Aug-1995 dg

Brought in changes from rev 1.14.2.1 into main branch.


9202 11-Jun-1995 rgrimes

Merge RELENG_2_0_5 into HEAD


8881 30-May-1995 rgrimes

Remove trailing whitespace.


8745 25-May-1995 phk

Remove Ontrack special from All_FreeBSD().
Add chunk->disk pointer.


8721 24-May-1995 jkh

Align slices to cylinder boundries.
Submitted By: phk


8670 21-May-1995 phk

Fix a typo, now there should always be an active slice.


8657 20-May-1995 phk

Do not allocate the first track.


8617 18-May-1995 phk

Remove two printfs before Jordan has a fit over them.


8538 15-May-1995 phk

Fixed the calculation of the reserved space for bad144. Thanks Rod!


8527 15-May-1995 phk

Create_Chunk_DWIM will not allocate anything in the last cylinder of a
CHUNK_BAD144 slice.
Also mknod the 'c' partition for freebsd slices, so bad144(8) will have
something to work on.


8477 12-May-1995 phk

Added MakeDevDisk(struct disk*, char *path);
fixed bug in extended slice naming.


8436 11-May-1995 phk

Get the CHUNK_COMPAT_BSD flag right.


8404 10-May-1995 phk

Create_Chunk_DWIM() is here, though it doesn't quite do what the name implies.


8346 08-May-1995 phk

Recognize slice type #6 as dos
handle OnTrack Disk manager correctly.


8343 08-May-1995 phk

Add check for rootfs > cyl 1024.


8341 08-May-1995 phk

I bet Jordan is tearing his hair out, trying to figure the previous patch
out... here is the real thing.


8339 08-May-1995 phk

Fix bug.


8312 07-May-1995 jkh

Whoops! An extra paren somehow got in there. Fixed.


8311 07-May-1995 jkh

Always zero new chunks - keeps things like the private structures from having
bogus data in them.


8303 06-May-1995 phk

General sanitation and cleanup. Killed the "reserved" type, it wasn't.


8290 05-May-1995 phk

If in Create_Chunk we (type==freebsd && (flags&CHUNK_ALIGN)), then we will
align this chunk properly. Have at it Jordan...


8264 04-May-1995 phk

Make the partitions names even more sensible
CheckRules sets the CHUNK_ALIGN & CHUNK_PAST_1024 flags.


8250 03-May-1995 phk

Add the private void *pointer to the chunks, and the functions to manage it.
Make the reassignment of partition names less bogus.


8241 03-May-1995 jkh

Export the chunk names properly.


8233 03-May-1995 phk

Make the target for tst01 more sensible.
Remove bogus targets.
Allocate partition letters as follows:
lowest offset "flags & CHUNK_IS_ROOT" gets 'a',
lowest offset "subtype==FS_SWAP" gets 'b'
the rest is allocated in offset order from this sequence "defghab".
This will generally make sense.
Added rules to complain if more than one CHUNK_IS_ROOT or more than one
FS_SWAP per FreeBSD chunk.
Set CHUNK_IS_ROOT on the 'a' partition in Open_Disk.
Run Fixup_Names in Open_Disk.


8228 02-May-1995 jkh

foo -> unknown


8227 02-May-1995 jkh

I need Open_Disk() to not spew on my screen. #ifdef out some diagnostic
printfs.


8207 01-May-1995 jkh

foo -> unknown.
I have to be able to show this stuff to the user. :-)


8197 01-May-1995 jkh

Stick a more BSD-like Makefile here so that I can link to the library.


8196 01-May-1995 phk

start CHS is 0xff,0xff,0xff if past 1024.
end CHS is 1023,bios_hd,bios_sect if past 1024. This way we can find
bios the geometry again.
Added a primitive "scan" to tst01.


8192 30-Apr-1995 phk

Use the DIOCSYNCSLICE ioctl now. (use only with kernel from this morning).
Get the CHS's right.
Get the disklabels (more) right.


8183 30-Apr-1995 phk

get bootblocks right.
Add mbr and bteasy17 to tst01
read partitions from kernel instead of disk.
Still problems with writing labels, discussing with Bruce.
Extended slices doesn't get written yet.


8180 30-Apr-1995 phk

Use 0xff for CHS when past 1024 cyls.
Fix (hopefully) a bug Gary found.


8179 30-Apr-1995 phk

Make the default case less scary :-)


8178 30-Apr-1995 phk

Now we do writes too.


8160 29-Apr-1995 phk

Names are assigned when chunks are created.
Rules for only one fat & one extended in MBR.


8158 29-Apr-1995 phk

Even More stuff. Disk_Names() is here amongst other things.


8157 29-Apr-1995 phk

Next Iteration, getting better.
Made an All_FreeBSD() function.
Added a cmd-line interface (lowest rank) to the tst01 program.
The tst01 program is harmless (worst it can do is coredump), but it
is instructive to run, you can see what the slice-code things of your
disk...


8156 29-Apr-1995 phk

Sanitize and explain a little bit... Implement the first rules...


8153 28-Apr-1995 phk

This is a revision 0.00 of the backend stuff for the fdisk/disklabel stuff
in the new sysinstall. If you want to give a helping hand, then send email
to phk@FreeBSD.ORG. DO NOT COMMIT TO THIS DIRECTORY!