bsdinstall: Filter out devices that cannot be opened

Devices that cannot be opened are most likely the install media and
should not be listed as destinations.

Reviewed by:		allanjude
Approved by:		allanjude
Differential Revision:	https://reviews.freebsd.org/D34879
Sponsored by:		Rubicon Communications, LLC ("Netgate")
This commit is contained in:
Brad Davis 2022-05-13 08:33:21 -06:00
parent db71383b88
commit 964ad27f1e

View File

@ -135,6 +135,16 @@ boot_disk_select(struct gmesh *mesh)
continue;
if (strncmp(pp->lg_name, "cd", 2) == 0)
continue;
/*
* Check if the disk is available to be opened for
* write operations, it helps prevent the USB
* stick used to boot from being listed as an option
*/
fd = g_open(pp->lg_name, 1);
if (fd == -1) {
continue;
}
g_close(fd);
disks = realloc(disks, (++n)*sizeof(disks[0]));
disks[n-1].name = pp->lg_name;