Bug 271555 - FreeBSD 14.0: kernel panic with kern.geom.label.disk_ident.enable and kern.geom.label.gptid.enable both enabled
Summary: FreeBSD 14.0: kernel panic with kern.geom.label.disk_ident.enable and kern.ge...
Status: Open
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: CURRENT
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords: crash, needs-qa
Depends on:
Blocks:
 
Reported: 2023-05-22 00:07 UTC by mario felicioni
Modified: 2023-09-25 03:32 UTC (History)
3 users (show)

See Also:
grahamperrin: maintainer-feedback-


Attachments
kernel panic. (257.98 KB, image/jpeg)
2023-05-22 00:07 UTC, mario felicioni
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description mario felicioni 2023-05-22 00:07:38 UTC
Created attachment 242313 [details]
kernel panic.

I've explained well the bug on the freebsd.org forums. You can give a look at the thread below :


https://forums.freebsd.org/threads/how-to-use-uuid-to-identify-partitions-on-freebsd.89163/#post-611443

thanks.
Comment 1 Graham Perrin freebsd_committer freebsd_triage 2023-05-22 18:18:52 UTC
<https://github.com/freebsd/freebsd-src/commit/ee482f2c28e5675eba7f868427a4750c3121c57a> (2013-12-16): 

> Add kern.geom.label.disk_ident.enable="0" to loader.conf(5).
> 
> Discussed on:	-current, -stable

<https://lists.freebsd.org/pipermail/freebsd-current/2013-December/thread.html>
<https://lists.freebsd.org/pipermail/freebsd-stable/2013-December/thread.html>

dteske@ please, can you identify the relevant discussions? Or summarise the rationale (we might want something in the FreeBSD Handbook). 

Thanks
Comment 2 mario felicioni 2023-05-22 20:38:50 UTC
@devinteske
Comment 3 mario felicioni 2023-05-22 20:39:12 UTC
devinteske@
Comment 4 Graham Perrin freebsd_committer freebsd_triage 2023-05-27 18:11:08 UTC
(In reply to mario felicioni from comment #2)

Thanks, we already have the flag for feedback from Devin Teske. 

<https://wiki.freebsd.org/Developers#DeveloperLists> includes a link out to a list of usernames.
Comment 5 Graham Perrin 2023-09-24 10:50:51 UTC
^Triage: with or without reproducibility of the kernel panic, it will be useful to document the rationale for some installations of FreeBSD having kern.geom.label.disk_ident.enable and kern.geom.label.gptid.enable disabled by default in loader.conf(5).

====

Re: opening comment #0, from <https://forums.freebsd.org/posts/611439> (2023-05-21): 

> On FreeBSD 14.0 at today,we can't do :
> 
> kern.geom.label.disk_ident.enable="1"
> kern.geom.label.gptid.enable="1"
> 
> otherwise,we get this kernel panic :

(see attachment 242313 [details])


> instead,this argument works ok :
> 
> kern.geom.label.ufsid.enable="1"
> 
> and it will enable the mapping of the disks using the UUID method.


% sysctl -d kern.geom.label.disk_ident.enable kern.geom.label.gptid.enable kern.geom.label.ufsid.enable
kern.geom.label.disk_ident.enable: Create device nodes for drives which export a disk identification string
kern.geom.label.gptid.enable: Create device nodes for GPT UUIDs
kern.geom.label.ufsid.enable: Create device nodes for UFS file system IDs
% 


Retrospective
====================

<https://github.com/freebsd/freebsd-src/commit/ee482f2c28e5675eba7f868427a4750c3121c57a> (2013-12-16) included addition of a line for 0 (zero) for: 

    kern.geom.label.disk_ident.enable

ee482f2c28e5 Add kern.geom.label.disk_ident.enable="0" to loader.conf(5).

----

<https://github.com/freebsd/freebsd-src/commit/2875e59f52f95d59ab7bf94ea67a98292f4f7775#diff-7c79805a092a0910d091e6f20f796b44ddb21504f3ab236ca0ea9406afe7a7c3R1268-R1273> (2014-04-15) included addition of a line for 0 (zero) for: 

    kern.geom.label.gptid.enable

2875e59f52f9 Here is a patch for the bsdinstall root-on-zfs stuff that adds optional encryption for swap, and optional gmirror for swap (which can be combined)


In doc and src trees
====================

% rg -e 'kern.geom.label.disk_ident.enable' /usr/doc
% rg -e 'kern.geom.label.gptid.enable' /usr/doc
/usr/doc/website/content/en/releases/8.1R/relnotes-detailed.adoc
1163:kern.geom.label.gptid.enable
% rg -e 'kern.geom.label.ufsid.enable' /usr/doc
/usr/doc/website/content/en/releases/8.1R/relnotes-detailed.adoc
1162:kern.geom.label.ufsid.enable
% 

▶ <https://www.freebsd.org/releases/8.1R/relnotes-detailed/#DISKS>

----

% rg -e 'kern.geom.label.disk_ident.enable' /usr/src
/usr/src/usr.sbin/bsdinstall/scripts/zfsboot
1495:                'kern.geom.label.disk_ident.enable=\"0\"' \

/usr/src/release/tools/vmimage.subr
99:             echo "kern.geom.label.disk_ident.enable=0" >> ${DESTDIR}/boot/loader.conf
% rg -e 'kern.geom.label.gptid.enable' /usr/src
/usr/src/usr.sbin/bsdinstall/scripts/zfsboot
1498:                'kern.geom.label.gptid.enable=\"0\"' \
% rg -e 'kern.geom.label.ufsid.enable' /usr/src
%
Comment 6 Mark Millard 2023-09-25 03:32:54 UTC
(In reply to Graham Perrin from comment #1)

The code:

. . .
# zfs_create_boot $poolname $vdev_type $disks ...
#
# Creates boot pool and dataset layout. Returns error if something goes wrong.
# Errors are printed to stderr for collection and display.
#
zfs_create_boot()
{
. . .
	# Last, but not least... required lines for rc.conf(5)/loader.conf(5)
	# NOTE: We later concatenate these into their destination
. . .
	f_eval_catch $funcname echo "$ECHO_APPEND" \
	             'kern.geom.label.disk_ident.enable=\"0\"' \
	             $BSDINSTALL_TMPBOOT/loader.conf.zfs || return $FAILURE
	f_eval_catch $funcname echo "$ECHO_APPEND" \
	             'kern.geom.label.gptid.enable=\"0\"' \
	             $BSDINSTALL_TMPBOOT/loader.conf.zfs || return $FAILURE

is in usr.sbin/bsdinstall/scripts/zfsboot which is only for
setting up root-on-zfs. (I included the gptid.enable code
as well, for reference.)

So the assigmments are very specific to a type of context and
the "relevant discussions" for disk_ident.enable were probably
more general root-on-zfs discussions that happened to mention
the disk_ident.enable as a detail in more overall discussions.

I'll note that the gptid.enable code's later commit
( 2875e59f52f9 ) reports:

Submitted by:	Allan Jude <freebsd@allanjude.com>

So there might be another path to background information on
these kern.geom.label.*.enable="0" assignments for root-on-zfs
contexts.