Skip to content

Commit

Permalink
Remove whole-disk vdev support from zfsboot
Browse files Browse the repository at this point in the history
This is consistent with the removal of whole-disk vdev support from
libsa/zfs/zfs.c in r342151, and is part way to having the LBAs read
during probe be fully constrained by partition tables when present.

Reviewed by:	tsoome
MFC after:	3 months
Differential Revision:	https://reviews.freebsd.org/D19142
  • Loading branch information
pkelsey committed Feb 17, 2019
1 parent 50c7f69 commit 3740d94
Showing 1 changed file with 5 additions and 18 deletions.
23 changes: 5 additions & 18 deletions stand/i386/zfsboot/zfsboot.c
Original file line number Diff line number Diff line change
@@ -545,32 +545,19 @@ probe_drive(struct zfsdsk *zdsk)
char *sec;
unsigned i;

/*
* If we find a vdev on the whole disk, stop here.
*/
if (vdev_probe(vdev_read2, zdsk, NULL) == 0)
return;

#ifdef LOADER_GELI_SUPPORT
/*
* Taste the disk, if it is GELI encrypted, decrypt it and check to see if
* it is a usable vdev then. Otherwise dig
* out the partition table and probe each slice/partition
* in turn for a vdev or GELI encrypted vdev.
* Taste the disk, if it is GELI encrypted, decrypt it then dig out the
* partition table and probe each slice/partition in turn for a vdev or
* GELI encrypted vdev.
*/
elba = drvsize_ext(zdsk);
if (elba > 0) {
elba--;
}
zdsk->gdev = geli_taste(vdev_read, zdsk, elba, "disk%u:0:");
if (zdsk->gdev != NULL) {
if (geli_havekey(zdsk->gdev) == 0 ||
geli_passphrase(zdsk->gdev, gelipw) == 0) {
if (vdev_probe(vdev_read2, zdsk, NULL) == 0) {
return;
}
}
}
if ((zdsk->gdev != NULL) && (geli_havekey(zdsk->gdev) == 0))
geli_passphrase(zdsk->gdev, gelipw);
#endif /* LOADER_GELI_SUPPORT */

sec = dmadat->secbuf;

0 comments on commit 3740d94

Please sign in to comment.