#
303975 |
|
11-Aug-2016 |
gjb |
Copy stable/11@r303970 to releng/11.0 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, and rename it to RC1.
Update __FreeBSD_version.
Use the quarterly branch for the default FreeBSD.conf pkg(8) repo and the dvd1.iso packages population.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
302408 |
|
08-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
298649 |
|
26-Apr-2016 |
pfg |
sys: extend use of the howmany() macro when available.
We have a howmany() macro in the <sys/param.h> header that is convenient to re-use as it makes things easier to read.
|
#
292788 |
|
27-Dec-2015 |
allanjude |
Add some additional GPT partition types
4 ChromeOS GPT types 2 Microsoft partition types the new OpenBSD partition type
Approved by: marcel (mentor) MFC after: 1 week Relnotes: yes Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D3841
|
#
292057 |
|
10-Dec-2015 |
ae |
Make detection of GPT a bit more reliable.
When we are detecting a partition table and didn't find PMBR, try to read backup GPT header from the last sector and if it is correct, assume that we have GPT.
Reviewed by: rpokala MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D4282
|
#
285594 |
|
15-Jul-2015 |
allanjude |
Add a new option to gpart(8) to fix Lenovo BIOS boot issue
PR: 184910 Reviewed by: ae, wblock Approved by: marcel MFC after: 3 days Relnotes: yes Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D3065
|
#
284151 |
|
08-Jun-2015 |
ae |
Teach G_PART_GPT class to handle g_resize_provider event.
MFC after: 10 days
|
#
279935 |
|
12-Mar-2015 |
ae |
Add GUID and alias for Apple Core Storage partition.
PR: 196241 MFC after: 1 week
|
#
268256 |
|
04-Jul-2014 |
nwhitehorn |
After EFI support was added to the installer, it needed to allow boot partitions of types other than "freebsd-boot" (in particular, "efi"). This allows the removal of some nasty hacks for supporting PowerPC systems, in particular aliasing freebsd-boot to apple-boot on APM and an IBM-specific code on MBR.
This changes the installer to use the correct names, which also breaks a degeneracy in the meaning of "freebsd-boot" that allows the addition of support for some newer IBM systems that can boot from GPT in addition to MBR. Since I have no idea how to detect which those systems are, leave the default on IBM PPC systems as MBR for now.
|
#
267358 |
|
11-Jun-2014 |
ae |
Allow swapping to DragonFlyBSD's swap partition.
MFC after: 2 weeks
|
#
267357 |
|
11-Jun-2014 |
ae |
Add aliases for DragonFlyBSD's partition types.
MFC after: 2 weeks
|
#
266880 |
|
30-May-2014 |
ae |
Use g_conf_printf_escaped() to escape symbols, which can break an XML tree.
MFC after: 1 week
|
#
264378 |
|
12-Apr-2014 |
marcel |
Align and round the partitionable disk space to 4K by default. Since this would also apply when recovering, make sure not to align or round when that would have a partition fall outside the partitionable area.
|
#
259925 |
|
26-Dec-2013 |
marck |
Add GPT UUID for VMware vSAN meta-data partition.
Approved by: ae MFC after: 2 weeks
|
#
258448 |
|
21-Nov-2013 |
marcel |
Have the GPT probe return a lower priority when the MBR is not a PMBR The purpose of the PMBR is to have the disk appear in use to GPT unaware utilities (like fdisk). However, if the PMBR has been changed by a GPT unaware utlity then we must assume that this was deliberate (as it involved removal of the special slice) and we should not treat the unmodified GPT-specific sectors as being valid. By lowering the probe priority in that case, the MBR scheme will take precedence and the kernel will end up using the MBR and not the GPT. We will still use the GPT if the kernel does not support the MBR scheme.
|
#
256690 |
|
17-Oct-2013 |
ae |
Add an automatic resize support to the GEOM_PART class.
When parent provider has been resized, the scheme specific G_PART_RESIZE method does an update of scheme's metadata. But all changes are not saved to disk, until `gpart commit` will be called.
Discussed with: trasz MFC after: 1 month
|
#
254095 |
|
08-Aug-2013 |
ae |
gpt_entries is used as limit for the number of partition entries in the GEOM_PART. Instead of just using number of entries from the GPT header, calculate this limit based on the reserved space between GPT header and first available LBA.
MFC after: 2 weeks
|
#
251588 |
|
09-Jun-2013 |
marcel |
Change the set and unset ctlreqs by making the index argument optional. This allows setting attributes on tables. One simply does not provide an index in that case. Otherwise the entry corresponding the index has the attribute set or unset.
Use this change to fix a relatively longstanding bug in our GPT scheme that's the result of rev 198097 (relatively harmless) followed by rev 237057 (damaging). The damaging part being that our GPT scheme always has the active flag set on the PMBR slice. This is in violation with EFI. Existing EFI implementions for both x86 and ia64 reject the GPT. As such, GPT disks created by us aren't usable under EFI because of that.
After this change, GPT disks never have the active flag set on the PMBR slice. In order to make the GPT disk bootable under some x86 BIOSes, the reason of rev 198097, one must now set the active attribute on the gpt table. The kernel will apply this to the PMBR slice For (S)ATA: gpart set -a active ada0
To fix an existing GPT disk that has the active flag set in the PMBR, and that does not need the flag, use (again for (S)ATA): gpart unset -a active ada0
The EBR, MBR & PC98 schemes, which also impement at least 1 attribute, now check to make sure the entry passed is valid. They do not have attributes that apply to the table.
|
#
237057 |
|
14-Jun-2012 |
ae |
Always reconstruct partition entries in the PMBR when Boot Camp is disabled. This helps to easily recover from situations when PMBR is damaged and contains no entries.
MFC after: 1 week
|
#
236023 |
|
25-May-2012 |
marcel |
Add a partition type for nandfs to the apm, bsd, gpt and vtoc8 schemes. The gpart alias for these partition types is "freebsd-nandfs".
|
#
234417 |
|
18-Apr-2012 |
marck |
VMware environments are not unusual now. Add VMware partitions recognition (both MBR for ESXi <= 4.1 and GPT for ESXi 5) to g_part.
Reviewed by: ae Approved by: ae MFC after: 2 weeks
|
#
226647 |
|
23-Oct-2011 |
marcel |
Add support for Boot Camp. The support is defined as follows: o Detect when Boot Camp is enabled (i.e. the MBR mirrors the GPT). o When Boot Camp is enabled, update the MBR whenever we write the GPT. o Creation of a Boot Camp enabled GPT is not supported. o Automatically disable Boot Camp when the GPT has been changed so that there's either no EFI partition or no HFS+ partition. o The first 4 partitions (by index) get mirrored in the MBR.
Requested by, discussed with and tested by: kris@pcbsd.org MFC after: 1 week
|
#
223660 |
|
29-Jun-2011 |
ae |
Initialize elements of state array when creating the GPT table. This fixes the problem, when the secondary GPT header is not erased when partition table destroyed. Move equal operations from g_part_gpt_create and g_part_gpt_recover to the separate function g_gpt_set_defaults.
Reported by: dwhite MFC after: 1 week
|
#
219029 |
|
25-Feb-2011 |
netchild |
Add some FEATURE macros for various GEOM classes.
No FreeBSD version bump, the userland application to query the features will be committed last and can serve as an indication of the availablility if needed.
Sponsored by: Google Summer of Code 2010 Submitted by: kibab Reviewed by: silence on geom@ during 2 weeks X-MFC after: to be determined in last commit with code from this project
|
#
218014 |
|
28-Jan-2011 |
ae |
Add new user-friendly aliases for partition types for the MBR and EBR schemes: fat32, ebr, linux-data, linux-raid, linux-swap and linux-lvm. Add bios-boot GUID and alias for the GPT scheme. It used by GRUB 2 loader. Also do sorting definitions of types in diskmbr.h and in g_part.c.
PR: bin/120990, kern/147664 MFC after: 2 weeks
|
#
217531 |
|
18-Jan-2011 |
ae |
Limit maximum number of GPT entries to 4k. It is most realistic value and can prevent kernel memory exhausting when big value is specified from command line.
Split reading and writing operation to several iteration to do not trigger KASSERT when data length is greater than MAXPHYS.
PR: kern/144962, kern/147851 MFC after: 2 weeks
|
#
217109 |
|
07-Jan-2011 |
mdf |
Fix a memory overflow where the input length to g_gpt_utf8_to_utf16() was specified incorrectly, causing the bzero to run past the end of a malloc(9)'d object.
Submitted by: Eric Youngblut < eyoungblut AT isilon DOT com > MFC after: 3 days
|
#
214352 |
|
25-Oct-2010 |
ae |
Reimplemented "gpart destroy -F". Now it does all work in kernel. This was needed for recover implementation.
Implement the recover command for GPT. Now GPT will marked as corrupt when any of three types of corruption will be detected: 1. Damaged primary GPT header or table 2. Damaged secondary GPT header or table 3. Secondary header is not located in the last LBA Marked GPT becomes read-only. Any changes with corrupt table are prohibited. Only "destroy" and "recover" commands are allowed.
Discussed with: geom@ (mostly silence) Tested by: Ilya A. Arhipov Approved by: mav (mentor) MFC after: 2 weeks
|
#
213135 |
|
24-Sep-2010 |
pjd |
Allow to configure GPT attributes. It shouldn't be allowed to set bootfailed attribute (it should be allowed only to unset it), but for test purposes it might be useful, so the current code allows it.
Reviewed by: arch@ (Message-ID: <20100917234542.GE1902@garage.freebsd.pl>) MFC after: 2 weeks
|
#
208746 |
|
02-Jun-2010 |
marius |
Don't leak memory on destruction.
Reviewed by: marcel MFC after: 3 days
|
#
207094 |
|
23-Apr-2010 |
marcel |
Implement the resize verb and add support for resizing partitions for all schemes but EBR. Quality work by Andrey!
Submitted by: "Andrey V. Elsukov" <bu7cher@yandex.ru>
|
#
203261 |
|
30-Jan-2010 |
marcel |
Export the UUID of the partition in the XML. The partition UUID is used by EFI's device path to identify a partition. In order for FreeBSD to add EFI boot options, proper device paths need to be constructed.
|
#
201374 |
|
02-Jan-2010 |
marcel |
Properly return the UUID represented by the alias.
PR: 142174 Submitted by: Przemyslaw Laczynski <torindel@gmail.com> Pointy hat to: rpaulo
|
#
200539 |
|
14-Dec-2009 |
rpaulo |
Add Microsoft and NetBSD partition types handling.
|
#
200534 |
|
14-Dec-2009 |
rpaulo |
Simplify partition type parsing by using a data-oriented model. While there add more Apple and Linux partition types.
|
#
199232 |
|
12-Nov-2009 |
rpaulo |
Add a missing check for Apple HFS partitions.
MFC after: 1 week
|
#
199228 |
|
12-Nov-2009 |
rnoland |
We need to allocate space for the header in the create path also.
This fixes a null pointer dereference with "gpart create -s GPT" after the previous commit.
Reported by: Yuri Pankov Pointyhat to: me MFC after: 1 week
|
#
199017 |
|
07-Nov-2009 |
rnoland |
Fix handling of GPT headers when size is > 92 bytes.
It is valid for an on-disk GPT header to report a header size which is greater than 92 bytes. Previously, we would read in the sector and copy only the 92 bytes that we know how to deal with before calculating the checksum for comparison. This meant that when we did the checksum, we overshot the buffer and took in random memory, so the checksum would fail.
We now determine the size of the header and allocate enough space to preserve the entire on-disk contents. This allows us to be correctly calculate the checksum and be able to modify and write the header back to the disk, while preserving data that we might not understand.
Reported by: Kris Weston Approved by: marcel@ MFC after: 2 weeks
|
#
198097 |
|
14-Oct-2009 |
rnoland |
Set the active flag in the PMBR when we install bootcode on a GPT partitioned disk. Some BIOS require this to be set before they will boot the device.
Approved by: marcel MFC after: 2 weeks
|
#
196333 |
|
17-Aug-2009 |
marcel |
The start of the EFI GPT partition in the PMBR can always be represented by CHS addressing. Don't define these fields as 0xff, but rather define them correctly. This prevents boot problems on PCs where GPT is being used.
PR: 115406 Submitted by: Kent Hauser <kent@khauser.net> Approved by: re (kib)
|
#
190534 |
|
30-Mar-2009 |
marcel |
Sharpen the saw: o Don't create a GPT scheme underneath another scheme when the probe doesn't allow it.
|
#
188429 |
|
10-Feb-2009 |
imp |
Fix g_part_dumpconf and g_part_name prototpyes.
Submitted by: marcel@
|
#
185497 |
|
01-Dec-2008 |
marcel |
Allow boot code to be smaller than what the scheme expects. This effectively changes the boot code size to be an upper bound and makes the interface more flexible.
|
#
184734 |
|
06-Nov-2008 |
marcel |
Fix a panic caused by a corrupted table when the header is still valid. We were checking the state of the header and not the table.
PR: 119868 Based on a patch from: Jaakko Heinonen <jh@saunalahti.fi> MFC after: 1 week
|
#
182797 |
|
05-Sep-2008 |
rpaulo |
Keep entries sorted.
|
#
182784 |
|
05-Sep-2008 |
rpaulo |
Detect Apple HFS GPT slices.
|
#
179763 |
|
12-Jun-2008 |
marcel |
Finish the support for partition labels and add it to the XML.
|
#
179751 |
|
12-Jun-2008 |
marcel |
Add the raw partiton type to the XML.
|
#
178444 |
|
23-Apr-2008 |
marcel |
Implement the G_PART_DUMPCONF method for all 6 schemes. Also call the method for the (indent == NULL) case (i.e. the kern.geom.conftxt sysctl). The purpose is to extend the conftxt output with scheme- specific fields which can be used by libdisk. In particular, have the schemes dump the xs and xt fields, which contain the backward compatible values for class type and partition type. This allows libdisk to work with the legacy slicers as well as with gpart and helps/promotes migration.
|
#
178180 |
|
13-Apr-2008 |
marcel |
Add the bootcode verb for installing boot code. Boot code is supported for the MBR, GPT and PC98 schemes, where GPT installs boot code into the PMBR.
|
#
177510 |
|
23-Mar-2008 |
marcel |
Redefine G_PART_SCHEME_DECLARE() from populating a private linker set to declaring a proper module. The module event handler is part of the gpart core and will add the scheme to an internal list on module load and will remove the scheme from the internal list on module unload. This makes it possible to dynamically load and unload partitioning schemes.
|
#
172940 |
|
24-Oct-2007 |
jhb |
First cut at support for booting a GPT labeled disk via the BIOS bootstrap on i386 and amd64 machines. The overall process is that /boot/pmbr lives in the PMBR (similar to /boot/mbr for MBR disks) and is responsible for locating and loading /boot/gptboot. /boot/gptboot is similar to /boot/boot except that it groks GPT rather than MBR + bsdlabel. Unlike /boot/boot, /boot/gptboot lives in its own dedicated GPT partition with a new "FreeBSD boot" type. This partition does not have a fixed size in that /boot/pmbr will load the entire partition into the lower 640k. However, it is limited in that it can only be 545k. That's still a lot better than the current 7.5k limit for boot2 on MBR. gptboot mostly acts just like boot2 in that it reads /boot.config and loads up /boot/loader. Some more details: - Include uuid_equal() and uuid_is_nil() in libstand. - Add a new 'boot' command to gpt(8) which makes a GPT disk bootable using /boot/pmbr and /boot/gptboot. Note that the disk must have some free space for the boot partition. - This required exposing the backend of the 'add' function as a gpt_add_part() function to the rest of gpt(8). 'boot' uses this to create a boot partition if needed. - Don't cripple cgbase() in the UFS boot code for /boot/gptboot so that it can handle a filesystem > 1.5 TB. - /boot/gptboot has a simple loader (gptldr) that doesn't do any I/O unlike boot1 since /boot/pmbr loads all of gptboot up front. The C portion of gptboot (gptboot.c) has been repocopied from boot2.c. The primary changes are to parse the GPT to find a root filesystem and to use 64-bit disk addresses. Currently gptboot assumes that the first UFS partition on the disk is the / filesystem, but this algorithm will likely be improved in the future. - Teach the biosdisk driver in /boot/loader to understand GPT tables. GPT partitions are identified as 'disk0pX:' (e.g. disk0p2:) which is similar to the /dev names the kernel uses (e.g. /dev/ad0p2). - Add a new "freebsd-boot" alias to g_part() for the new boot UUID.
MFC after: 1 month Discussed with: marcel (some things might still change, but am committing what I have so far)
|
#
172857 |
|
21-Oct-2007 |
marcel |
Add the freebsd-zfs alias. Both APM and GPT have ZFS partition types.
|
#
170362 |
|
06-Jun-2007 |
marcel |
Prefix unknown (i.e. un-aliased) partition types with '!'. This is how they had to be given with ctlreq.
|
#
169389 |
|
08-May-2007 |
marcel |
MFp4: 119373: o Remove the query verb, along with the request and response parameters. o Add the version and output parameters. 119390: [APM,GPT] Properly clear deleted entries. 119394: o Make the alias the standard and use the '!' to prefix literal partition types. o Treat schemes and partition types as case insensitive. 119462: [GPT] Fix a page fault caused when modifying a partition entry without a new partition type.
|
#
166551 |
|
07-Feb-2007 |
marcel |
Evolve the ctlreq interface added to geom_gpt into a generic partitioning class that supports multiple schemes. Current schemes supported are APM (Apple Partition Map) and GPT. Change all GEOM_APPLE anf GEOM_GPT options into GEOM_PART_APM and GEOM_PART_GPT (resp).
The ctlreq interface supports verbs to create and destroy partitioning schemes on a disk; to add, delete and modify partitions; and to commit or undo changes made.
|