aboutsummaryrefslogtreecommitdiff
path: root/lib/libdisk
Commit message (Collapse)AuthorAgeFilesLines
* o In Print_Chunk(), don't print the address of the chunk on ia64. ItMarcel Moolenaar2003-11-021-4/+11
| | | | | | | | | | | 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. Notes: svn path=/head/; revision=121883
* Disable #define DEBUG in libdisk by default: since libdisk is primarilyRobert Watson2003-09-271-1/+1
| | | | | | | | | | 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. Notes: svn path=/head/; revision=120522
* Ignore ccd(4)'s. This is not the best solution, but it at least removesDavid E. O'Brien2003-08-281-0/+2
| | | | | | | | | the "BARF 360" ccd(4) user's experience. Submitted by: rwatson Notes: svn path=/head/; revision=119532
* Sanity check the list obtained from the kern.disks sysctl so that Disk_Names()Scott Long2003-06-071-1/+4
| | | | | | | | doesn't get fooled into returning a bogus list. This should fix sysinstall from segfaulting when no disk devices are present. Notes: svn path=/head/; revision=115981
* Teach libdisk that AMD64 works just like i386Peter Wemm2003-04-305-8/+14
| | | | Notes: svn path=/head/; revision=114329
* Only define platform once -- in a C file.David E. O'Brien2003-04-302-20/+23
| | | | Notes: svn path=/head/; revision=114300
* Fix a compiler warning.Poul-Henning Kamp2003-04-231-0/+2
| | | | | | | Submitted by: David Leimbach <leimy2k@mac.com> Notes: svn path=/head/; revision=113901
* Fix compilation errors.Poul-Henning Kamp2003-04-221-2/+1
| | | | | | | I wonder how I managed to cross-compile this yesterday. Notes: svn path=/head/; revision=113840
* Update libdisk to use the explicing encoding function for sunlabel dataPoul-Henning Kamp2003-04-212-11/+13
| | | | | | | structures. Notes: svn path=/head/; revision=113823
* Use sized cast matching the sized pointer.Poul-Henning Kamp2003-04-041-1/+1
| | | | Notes: svn path=/head/; revision=113085
* Libdisk does not need to include <sys/diskslice.h> any more.Poul-Henning Kamp2003-04-049-9/+0
| | | | | | | | | | | | 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. Notes: svn path=/head/; revision=113083
* The .Nm libraryPhilippe Charnier2003-03-241-2/+3
| | | | Notes: svn path=/head/; revision=112540
* Ignore GBDE devices.Poul-Henning Kamp2003-03-171-0/+2
| | | | | | | Spotted by: Lucky Green <shamrock@cypherpunks.to> Notes: svn path=/head/; revision=112333
* Fix build error.Yoshihiro Takahashi2003-02-061-1/+0
| | | | Notes: svn path=/head/; revision=110454
* - Remove unused old disk pointers from Write_FreeBSD() and Fill_Disklabel()John Baldwin2003-02-047-21/+18
| | | | | | | | functions. - Clean up a few signed/unsigned warnings. Notes: svn path=/head/; revision=110339
* Remove mostly unused disk arguments from Fixup_*_Names() functions.John Baldwin2003-02-041-9/+9
| | | | Notes: svn path=/head/; revision=110338
* Use the fstype obtained from the GEOM dumpconf output to set the fstypeJohn Baldwin2003-01-101-1/+1
| | | | | | | | | | of BSD part chunks when opening a disk. Reviewed by: phk MFC after: 2 days Notes: svn path=/head/; revision=109082
* - Make New_Disk() non-static so it can be used in Create_Chunk_DWIM().John Baldwin2003-01-103-3/+21
| | | | | | | | | | | | | | | | | - 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 Notes: svn path=/head/; revision=109080
* Rename the dos_partition structure for pc98 to pc98_partition.Yoshihiro Takahashi2003-01-041-2/+2
| | | | Notes: svn path=/head/; revision=108650
* Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,Jens Schweikhardt2003-01-011-1/+1
| | | | | | | especially in troff files. Notes: svn path=/head/; revision=108533
* Return an error if the size of the sector is zero. This is for removableYoshihiro Takahashi2002-12-261-0/+6
| | | | | | | | | | | devices that is not inserted any media. This is MFC candidate. Submitted by: ISAKA Yoji <isaka@cory.jp> Notes: svn path=/head/; revision=108292
* Consistently mark std(in|out|err) with .Dv, because that's how theyRuslan Ermilov2002-12-041-1/+2
| | | | | | | | | | are marked up in stdio(3), and because they are defined expressions of type "FILE *". Approved by: re Notes: svn path=/head/; revision=107619
* Break up a bunch of crazy if statements to use a case statement insteadJohn Baldwin2002-12-021-14/+16
| | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=107531
* - Ease sanity check to get cylinders.Yoshihiro Takahashi2002-11-171-6/+12
| | | | | | | - Get the slice name from the result of kern.geom.conftxt. Notes: svn path=/head/; revision=107011
* Fixed style(9)Yoshihiro Takahashi2002-11-1514-409/+484
| | | | Notes: svn path=/head/; revision=106949
* Handle EFI partitions the same as regular FAT partitions. The onlyMarcel Moolenaar2002-11-132-0/+4
| | | | | | | | | 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. Notes: svn path=/head/; revision=106837
* - Document the chunk_name() function that replaces chunk_n[].Chad David2002-11-111-5/+10
| | | | | | | - Rearrange things a tiny bit. Notes: svn path=/head/; revision=106784
* Remove parameter names from function prototypes (at least one collidedChad David2002-11-111-36/+37
| | | | | | | | | with stdlib.h). discussed with: phk Notes: svn path=/head/; revision=106783
* Remove debugging printfs.Poul-Henning Kamp2002-11-111-7/+0
| | | | Notes: svn path=/head/; revision=106761
* MBR slices are named the same on ia64 as they are on i386.Marcel Moolenaar2002-11-111-4/+4
| | | | Notes: svn path=/head/; revision=106752
* Write the boot block to the first 16 sectors of all partitions, instead ofJake Burkholder2002-11-101-12/+13
| | | | | | | | | | | | | 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. Notes: svn path=/head/; revision=106745
* Add efi to the list of types for which we need to return tha name.Marcel Moolenaar2002-11-101-1/+4
| | | | | | | | 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. Notes: svn path=/head/; revision=106743
* Add an efi chunk type. We need to be able to create an EFI partitionMarcel Moolenaar2002-11-101-0/+1
| | | | | | | | on ia64, because that's where we need to put the loader and the kernel. Notes: svn path=/head/; revision=106742
* General cleanup:Marcel Moolenaar2002-11-101-96/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | 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... Notes: svn path=/head/; revision=106741
* - Recognize FAT partition on MBR and PC98 disks.Yoshihiro Takahashi2002-11-081-20/+47
| | | | | | | - Fix to convert to the name of partition. Notes: svn path=/head/; revision=106633
* MFi386: revision 1.4.Yoshihiro Takahashi2002-11-081-1/+0
| | | | Notes: svn path=/head/; revision=106623
* Don't set a variable to a bogus value right before setting it to theJohn Baldwin2002-11-082-2/+0
| | | | | | | correct value in the next statement. Notes: svn path=/head/; revision=106622
* Don't set a value to a variable that we don't use.John Baldwin2002-11-081-1/+0
| | | | Notes: svn path=/head/; revision=106621
* - Merge Write_FreeBSD() into Write_Disk().John Baldwin2002-11-081-40/+32
| | | | | | | - Miscellaneous cleanups. Notes: svn path=/head/; revision=106619
* Fixed pc98 support.Yoshihiro Takahashi2002-11-072-6/+5
| | | | | | | (merged i386 changes from chunk.c 1.41 and disk.c 1.100) Notes: svn path=/head/; revision=106549
* Get this closer to working. The Write_Disk() function's for loop neededJohn Baldwin2002-11-071-20/+13
| | | | | | | | | | 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". Notes: svn path=/head/; revision=106548
* Remove unused MBR gunk leftover from i386.John Baldwin2002-11-031-11/+1
| | | | Notes: svn path=/head/; revision=106384
* Fix to compile for pc98.Yoshihiro Takahashi2002-11-031-0/+8
| | | | Notes: svn path=/head/; revision=106373
* Initialize d->bios_cyl. We know the media size in sectors, the numberMarcel Moolenaar2002-11-031-4/+10
| | | | | | | | | | 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. Notes: svn path=/head/; revision=106368
* Add support for GPT:Marcel Moolenaar2002-11-021-5/+45
| | | | | | | | | | | | | 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. Notes: svn path=/head/; revision=106343
* Add support for ia64. This is almost identical to i386, except thatMarcel Moolenaar2002-11-021-0/+20
| | | | | | | | with GPT chunks of type "part" do not necessarily live under chunks of type "freebsd". We don't necessarily have a disklabel. Notes: svn path=/head/; revision=106342
* Don't claim all MBR's have subtype 165 on i386.Poul-Henning Kamp2002-11-022-3/+2
| | | | | | | Spotted by: Frode Nordahl <frode@nordahl.net> Notes: svn path=/head/; revision=106337
* Fill in partition 2 with with "whole disk" parameters.Poul-Henning Kamp2002-11-011-0/+8
| | | | Notes: svn path=/head/; revision=106303
* Style(9) improvements.Poul-Henning Kamp2002-10-311-6/+6
| | | | Notes: svn path=/head/; revision=106241
* Set the sector size for the disk.Poul-Henning Kamp2002-10-311-0/+2
| | | | Notes: svn path=/head/; revision=106240