Checking through all the per-arch disk drivers to see which are missing DIOCGPDINFO:
/sys/arch/hp300/dev/hd.c: case DIOCGPDINFO: /sys/arch/hp300/dev/hd.c: case DIOCGDINFO: no problem. /sys/arch/sparc/dev/fd.c: case DIOCGPDINFO: /sys/arch/sparc/dev/fd.c: case DIOCGDINFO: no problem. /sys/arch/sparc/dev/presto.c: case DIOCGDINFO: missing /sys/arch/sparc/dev/xd.c: case DIOCGDINFO: /* get disk label */ missing /sys/arch/sparc/dev/xy.c: case DIOCGDINFO: /* get disk label */ missing /sys/arch/sparc64/dev/fd.c: case DIOCGPDINFO: /sys/arch/sparc64/dev/fd.c: case DIOCGDINFO: ok /sys/arch/vax/mba/hp.c: case DIOCGDINFO: missing /sys/arch/vax/mscp/mscp_disk.c: case DIOCGDINFO: /sys/arch/vax/mscp/mscp_disk.c: case DIOCGDINFO: missing /sys/arch/vax/vsa/hdc9224.c: case DIOCGDINFO: missing Basically all of those drivers fetch their labels at the start and keep them, and have not moved to the new mode of having an xxgetdisklabel() function with a 4th argument which indicates spoofing or not. As a result, they also cannot clear their disklabel, I think.