#
2cbda736 |
| 16-Oct-2024 |
Warner Losh <imp@FreeBSD.org> |
gpart: Add warning when the start sector is too low.
Add a warning if the starting sector is too low. The standard requires that at least 16k is reserved for the GPT Partition Array, but some tools
gpart: Add warning when the start sector is too low.
Add a warning if the starting sector is too low. The standard requires that at least 16k is reserved for the GPT Partition Array, but some tools produce GPT images with fewer than the required number of reserved sectors.
PR: 274312 Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D42247
show more ...
|
#
09c999b1 |
| 16-Oct-2024 |
Warner Losh <imp@FreeBSD.org> |
gpart: More nuance for GPT support
A careful reading of the GPT standard shows that one may have fewer than 128 entries in your GPT table. While the standard requires that we reserve enough space (3
gpart: More nuance for GPT support
A careful reading of the GPT standard shows that one may have fewer than 128 entries in your GPT table. While the standard requires that we reserve enough space (32 512-byte-LBAs or 4 4096-byte-LBAs), it also explicitly allows one to specify fewer actual partitions (since that controls what is in the CRC). It requires that the first LBA to be 32 (512 sectors) or 6 (4k sectors) or larger. That requirement is not enforced (it's not listed as one of validation criteria for the GPT). We should likely do so in the future.
To that end, allow a default number of entries to use (defent) on creation to be different (larger) than the minimum number of legal entries. For gpt, these numbers work out to 128 and 1 respectively. For all the others, make minent == defent so this is a nop for those partitioning schemes.
Sponsored by: Netflix Reviewed by: zlei, emaste Differential Revision: https://reviews.freebsd.org/D42246
show more ...
|
Revision tags: release/13.4.0 |
|
#
b162fc3f |
| 03-Sep-2024 |
Jessica Clarke <jrtc27@FreeBSD.org> |
gpart: Add u-boot-env alias for U-Boot's environment GPT partition UUID
This is a platform-independent UUID, and this is the name U-Boot uses.
MFC after: 1 week
|
Revision tags: release/14.1.0, release/13.3.0 |
|
#
fdafd315 |
| 24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remov
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/
Sponsored by: Netflix
show more ...
|
Revision tags: release/14.0.0 |
|
#
5c9f0f72 |
| 26-Oct-2023 |
Warner Losh <imp@FreeBSD.org> |
gpart: Be less picky about GPT Tables in some cases
When we're recoverying a damangae GPT, or when we're restoring a backed up partition tables, don't enforce the 4k alignment for start/end LBAs. Th
gpart: Be less picky about GPT Tables in some cases
When we're recoverying a damangae GPT, or when we're restoring a backed up partition tables, don't enforce the 4k alignment for start/end LBAs. This is useful for 512e/4kn drives when we're creating a new partition table or partition. However, when we're trying to fix / restore an old partition, we shouldn't force this alignment, since in that case it's more important to use the partition table as is than to optimize performance by rounding (which isn't required by the standard).
MFC After: 1 week Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D42359
show more ...
|
#
685dc743 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
4d846d26 |
| 10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause.
Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
show more ...
|
Revision tags: release/13.2.0 |
|
#
bd5d9037 |
| 28-Dec-2022 |
Zhenlei Huang <zlei@FreeBSD.org> |
GEOM: Remove redundant NULL pointer check before g_free()
Reviewed by: melifaro, pjd, imp Approved by: kp (mentor) Differential Revision: https://reviews.freebsd.org/D37779
|
#
2e543af1 |
| 21-Dec-2022 |
Zhenlei Huang <zlei@FreeBSD.org> |
geom_part: Fix potential integer overflow when checking size of the table
`hdr_entries` and `hdr_entsz` are both uint32_t as defined in UEFI spec. Current spec does not have upper limit of the numbe
geom_part: Fix potential integer overflow when checking size of the table
`hdr_entries` and `hdr_entsz` are both uint32_t as defined in UEFI spec. Current spec does not have upper limit of the number of partition entries and the size of partition entry, it is potential that malicious or corrupted GPT header read from untrusted source contains large size of entry number or size.
PR: 266548 Reviewed by: oshogbo, cem, imp, markj Approved by: kp (mentor) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D36709
show more ...
|
Revision tags: release/12.4.0 |
|
#
5be5d0d5 |
| 18-Oct-2022 |
Zhenlei Huang <zlei.huang@gmail.com> |
geom_part: Check number of GPT entries and size of GPT entry
Current specification does not have upper limit of the number of partition entries and the size of partition entry. In 799eac8c3df597179b
geom_part: Check number of GPT entries and size of GPT entry
Current specification does not have upper limit of the number of partition entries and the size of partition entry. In 799eac8c3df597179bbb3b078362f3ff03993a1a Andrey V. Elsukov introduced a limit maximum number of GPT entries to 4k, but that is for write routine (gpart create) only. When attaching disks that have large number of GPT entries exceeding the limit, or disks with large size of partition entry, it is still possible to exhaust kernel memory.
1. Reuse the limit of the maximum number of partition entries. 2. Limit the maximum size of GPT entry to 1k.
In current specification (2.10) the size of GPT entry is 128 * 2^n while n >= 0, and the size - 128 is reserved. 1k should be sufficient enough for foreseen future.
PR: 266548 Discussed with: imp Reviewed by: markj MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D36717
show more ...
|
Revision tags: release/13.1.0, release/12.3.0 |
|
#
9c296a21 |
| 12-Oct-2021 |
Ed Maste <emaste@FreeBSD.org> |
geom: Add HiFive boot partitions
As documented in the HiFive Unmatched Software Reference Manual.
Reviewed by: imp, mhorne Sponsored by: The FreeBSD Foundation Differential Revision: https://review
geom: Add HiFive boot partitions
As documented in the HiFive Unmatched Software Reference Manual.
Reviewed by: imp, mhorne Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D34010
show more ...
|
#
e3ab141f |
| 03-Nov-2021 |
Warner Losh <imp@FreeBSD.org> |
gpart: Move GPT efimedia reporting to a separate routine
Move the efimedia reporting to g_part_gpt_efimedia and use that from g_part_gpt_dumpconf to report it.
Sponsored by: Netflix Reviewed by:
gpart: Move GPT efimedia reporting to a separate routine
Move the efimedia reporting to g_part_gpt_efimedia and use that from g_part_gpt_dumpconf to report it.
Sponsored by: Netflix Reviewed by: mav Differential Revision: https://reviews.freebsd.org/D32780
show more ...
|
Revision tags: release/13.0.0 |
|
#
cd853791 |
| 28-Nov-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
Make MAXPHYS tunable. Bump MAXPHYS to 1M.
Replace MAXPHYS by runtime variable maxphys. It is initialized from MAXPHYS by default, but can be also adjusted with the tunable kern.maxphys.
Make b_pag
Make MAXPHYS tunable. Bump MAXPHYS to 1M.
Replace MAXPHYS by runtime variable maxphys. It is initialized from MAXPHYS by default, but can be also adjusted with the tunable kern.maxphys.
Make b_pages[] array in struct buf flexible. Size b_pages[] for buffer cache buffers exactly to atop(maxbcachebuf) (currently it is sized to atop(MAXPHYS)), and b_pages[] for pbufs is sized to atop(maxphys) + 1. The +1 for pbufs allow several pbuf consumers, among them vmapbuf(), to use unaligned buffers still sized to maxphys, esp. when such buffers come from userspace (*). Overall, we save significant amount of otherwise wasted memory in b_pages[] for buffer cache buffers, while bumping MAXPHYS to desired high value.
Eliminate all direct uses of the MAXPHYS constant in kernel and driver sources, except a place which initialize maxphys. Some random (and arguably weird) uses of MAXPHYS, e.g. in linuxolator, are converted straight. Some drivers, which use MAXPHYS to size embeded structures, get private MAXPHYS-like constant; their convertion is out of scope for this work.
Changes to cam/, dev/ahci, dev/ata, dev/mpr, dev/mpt, dev/mvs, dev/siis, where either submitted by, or based on changes by mav.
Suggested by: mav (*) Reviewed by: imp, mav, imp, mckusick, scottl (intermediate versions) Tested by: pho Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D27225
show more ...
|
Revision tags: release/12.2.0 |
|
#
cea05ed9 |
| 09-Sep-2020 |
Eugene Grosbein <eugen@FreeBSD.org> |
geom_part: extend kern.geom.part.check_integrity to work on GPT
There are multiple USB/SATA bridges on the market that unconditionally cut some LBAs off connected media. This could be a problem for
geom_part: extend kern.geom.part.check_integrity to work on GPT
There are multiple USB/SATA bridges on the market that unconditionally cut some LBAs off connected media. This could be a problem for pre-partitioned drives so GEOM complains and does not create devices in /dev for slices/partitions preventing access to existing data.
We have kern.geom.part.check_integrity that allows us to correct partitioning if changed from default 1 to 0 but it works for MBR only. If backup copy of GPT is unavailable due to decreases number of LBAs, kernel still does not give access to partitions and prints to dmesg:
GEOM: md0: corrupt or invalid GPT detected. GEOM: md0: GPT rejected -- may not be recoverable.
This change makes it work for GPT too, so it created partitions in /dev and prints to dmesg this instead:
GEOM: md0: the secondary GPT table is corrupt or invalid. GEOM: md0: using the primary only -- recovery suggested.
Then "gpart recover" re-created backup copy of GPT and allows further manipulations with partitions.
This change is no-op for default configuration having kern.geom.part.check_integrity=1
Reported by: Alex Korchmar MFC after: 3 days.
show more ...
|
#
e2515283 |
| 27-Aug-2020 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: Rubicon Communications, LLC (netgate.com)
|
#
cb1480f8 |
| 17-Aug-2020 |
Conrad Meyer <cem@FreeBSD.org> |
gpart(8): Recognize apple-zfs and solaris-reserved partition ids
Introduce G_PART_ALIAS_SOLARIS_RESERVED, GPT_ENT_TYPE_SOLARIS_RESERVED et al., to make gpart show output more convenient on systems w
gpart(8): Recognize apple-zfs and solaris-reserved partition ids
Introduce G_PART_ALIAS_SOLARIS_RESERVED, GPT_ENT_TYPE_SOLARIS_RESERVED et al., to make gpart show output more convenient on systems with illumos/openindiana disks visible.
Submitted by: Juraj Lutter <otis AT sk.FreeBSD.org> Reviewed by: bcr(manpages), delphij, myself Differential Revision: https://reviews.freebsd.org/D26012
show more ...
|
Revision tags: release/11.4.0 |
|
#
75dfc66c |
| 27-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r358269 through r358399.
|
#
7029da5c |
| 26-Feb-2020 |
Pawel Biernacki <kaktus@FreeBSD.org> |
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly mark
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly marked). Use it in preparation for a general review of all nodes.
This is non-functional change that adds annotations to SYSCTL_NODE and SYSCTL_PROC nodes using one of the soon-to-be-required flags.
Mark all obvious cases as MPSAFE. All entries that haven't been marked as MPSAFE before are by default marked as NEEDGIANT
Approved by: kib (mentor, blanket) Commented by: kib, gallatin, melifaro Differential Revision: https://reviews.freebsd.org/D23718
show more ...
|
Revision tags: release/12.1.0 |
|
#
f993ed2f |
| 09-Sep-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r351732 through r352104.
|
#
ef03f57d |
| 03-Sep-2019 |
Kyle Evans <kevans@FreeBSD.org> |
Allow more nesting of GEOM partitioning schemes
GEOM is supposed to be topology-agnostic, but the GPT and BSD partition code has arbitrary restrictions on nesting that are annoying in cases such as
Allow more nesting of GEOM partitioning schemes
GEOM is supposed to be topology-agnostic, but the GPT and BSD partition code has arbitrary restrictions on nesting that are annoying in cases such as running VMs on raw partitions (since the VM's partitioning scheme is not visible to the host).
This patch adds sysctls to disable the restrictions except in the case of BSD label (and similar) partitions with offset 0 (where we need to avoid recursively recognizing the label).
Submitted by: Andrew Gierth MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D21350
show more ...
|
Revision tags: release/11.3.0 |
|
#
e532a999 |
| 20-Jun-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @349234
Sponsored by: The FreeBSD Foundation
|
#
49ee0fce |
| 19-Jun-2019 |
Alexander Motin <mav@FreeBSD.org> |
Use sbuf_cat() in GEOM confxml generation.
When it comes to megabytes of text, difference between sbuf_printf() and sbuf_cat() becomes substantial.
MFC after: 2 weeks Sponsored by: iXsystems, Inc.
|
#
f89d2072 |
| 17-Jun-2019 |
Xin LI <delphij@FreeBSD.org> |
Separate kernel crc32() implementation to its own header (gsb_crc32.h) and rename the source to gsb_crc32.c.
This is a prerequisite of unifying kernel zlib instances.
PR: 229763 Submitted by: Yosh
Separate kernel crc32() implementation to its own header (gsb_crc32.h) and rename the source to gsb_crc32.c.
This is a prerequisite of unifying kernel zlib instances.
PR: 229763 Submitted by: Yoshihiro Ota <ota at j.email.ne.jp> Differential Revision: https://reviews.freebsd.org/D20193
show more ...
|
#
2aaf9152 |
| 18-Mar-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead@r345275
|
#
ff511f1f |
| 11-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r344996
|