svn commit: r365920 - stable/12/sys/geom/part
Eugene Grosbein
eugen at FreeBSD.org
Sun Sep 20 05:23:17 UTC 2020
Author: eugen
Date: Sun Sep 20 05:23:16 2020
New Revision: 365920
URL: https://svnweb.freebsd.org/changeset/base/365920
Log:
MFC r365830: make it possible recovering broken GPT after some LBAs cut off
If pre-formatted device has GPT and a partition covering
last available LBAs and the device is attached using
a bridge reducing amount of LBAs, then it could be not enough
forcing GEOM to use primary GPT. Also, we should make it possible
to recover GPT and this requires either deleting or resizing the partition.
This change enables "gpart delete" and "gpart resize" commands
on corrupted GPT with following "gpart recover".
It still does not allow modifying corrupted GPT without
preliminary setting sysctl kern.geom.part.check_integrity=0
Reported by: Alex Korchmar
Modified:
stable/12/sys/geom/part/g_part.c
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/sys/geom/part/g_part.c
==============================================================================
--- stable/12/sys/geom/part/g_part.c Sat Sep 19 22:48:30 2020 (r365919)
+++ stable/12/sys/geom/part/g_part.c Sun Sep 20 05:23:16 2020 (r365920)
@@ -1846,7 +1846,8 @@ g_part_ctlreq(struct gctl_req *req, struct g_class *mp
table = gpp.gpp_geom->softc;
if (table != NULL && table->gpt_corrupt &&
ctlreq != G_PART_CTL_DESTROY &&
- ctlreq != G_PART_CTL_RECOVER) {
+ ctlreq != G_PART_CTL_RECOVER &&
+ geom_part_check_integrity) {
gctl_error(req, "%d table '%s' is corrupt",
EPERM, gpp.gpp_geom->name);
return;
More information about the svn-src-all
mailing list