1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-25 11:37:56 +00:00
freebsd/stand/common
Ian Lepore e77f4eb2a0 Restore the ability to open a raw disk or partition in loader(8).
The disk_open() function searches for "the best partition" when slice and
partition information is not provided as part of the device name.  As of
r345477 the slice and partition fields of a disk_devdesc are initialized to
D_SLICEWILD and D_PARTWILD; in the past they were initialized to -1, which
was sometimes interpreted as meaning 'wildcard' and sometimes as 'open the
raw partition' depending on the context.  So as an unintended side effect of
r345477 it became basically impossible to ever open a disk or partition
without doing the 'best partition' search.  One visible effect of that was
the inability to open the raw disk to read the partition table correctly in
zfs_probe_dev(), leading to failures to find the zfs pool unless it was on
the first partition.

Now instead of always initializing slice and partition to wildcards, the
disk_parsedev() function initializes them based on the presence of a
path/file name following the device.  If there is any path or filename
following the ':' that ends the device name, then slice and partition are
initialized to D_SLICEWILD and D_PARTWILD.  If there is nothing after the
':' then it is considered to be a request to open the raw device or
partition itself (not a file stored within it), and the fields are
initialized to D_SLICENONE and D_PARTNONE.

With this change in place, all the tests in src/tools/boot are succesful
again, including the recently-added cases of booting from a zfs pool on
a partition other than slice 1 of the device.

PR:		236981
2019-04-25 15:09:21 +00:00
..
bcache.c stand: Improve some debugging experience 2019-03-12 16:21:39 +00:00
boot.c Create kernel module to parse Veriexec manifest based on envs 2019-04-03 03:57:37 +00:00
bootstrap.h Enable veriexec for loader 2019-02-26 06:22:10 +00:00
commands.c loader: cstyle cleanup of command.c 2018-04-16 14:10:19 +00:00
console.c
dev_net.c stand: dev_net: correct net_open's interpretation of params 2019-02-15 18:28:51 +00:00
dev_net.h
devopen.c Extend loader(8) geli support to all architectures and all disk-like devices. 2018-07-13 17:50:25 +00:00
disk.c Restore the ability to open a raw disk or partition in loader(8). 2019-04-25 15:09:21 +00:00
disk.h Distinguish between "no partition" and "choose best partition" with a constant. 2019-03-24 18:51:52 +00:00
help.common
install.c Break out the interpreters (simple and forth) w/o ifdefs. This is 2018-01-31 22:46:05 +00:00
interp_backslash.c Move to tabs for indentation and to 8-space notches, per style(9). 2018-02-08 17:07:27 +00:00
interp_forth.c Add missing boot.4th verification 2019-03-19 02:45:32 +00:00
interp_lua.c userboot: handle guest interpreter mismatches more intelligently 2018-09-01 02:23:45 +00:00
interp_parse.c Move to tabs for indentation and to 8-space notches, per style(9). 2018-02-08 17:07:27 +00:00
interp_simple.c Enable veriexec for loader 2019-02-26 06:22:10 +00:00
interp.c Move simple interpreter 'perform' into interp.c and call it 2018-02-07 23:27:38 +00:00
isapnp.c Prefer uintXX_t to u_intXX_t 2018-03-13 16:33:00 +00:00
isapnp.h
load_elf32_obj.c
load_elf32.c
load_elf64_obj.c
load_elf64.c
load_elf_obj.c Enable veriexec for loader 2019-02-26 06:22:10 +00:00
load_elf.c loader: fix loading of kernels with . in path 2019-03-20 16:24:47 +00:00
ls.c
Makefile.depend
md.c
merge_help.awk
metadata.c Extend loader(8) geli support to all architectures and all disk-like devices. 2018-07-13 17:50:25 +00:00
misc.c Prefer uintXX_t to u_intXX_t 2018-03-13 16:33:00 +00:00
module.c loader: add file_remove() function to undo file_insert_tail(). 2019-04-07 13:36:17 +00:00
newvers.sh
part.c stand: Improve some debugging experience 2019-03-12 16:21:39 +00:00
part.h Add an ISO9660 "partition table" type to loader. 2018-04-05 19:45:30 +00:00
paths.h Collapse zfsloader functionality back down into loader. 2018-07-20 05:17:37 +00:00
pnp.c Prefer uintXX_t to u_intXX_t 2018-03-13 16:33:00 +00:00
rbx.h
reloc_elf32.c
reloc_elf64.c
reloc_elf.c Skip IRELATIVE relocations when loader processes ELF files. 2018-01-11 13:57:30 +00:00
self_reloc.c
zfs_cmd.c Stop using ../zfs/libzfs.h but instead use libzfs.h. 2018-07-08 07:42:58 +00:00