[Bug 271262] bsdinstaller in AutoZFS + MBR mode always wipes disklabel - rendering system non-bootable
Date: Sat, 06 May 2023 06:05:12 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271262 --- Comment #2 from Henryk Paluch <hpaluch@seznam.cz> --- Additional details: The original installation disklabel looks that way: (the da0s1a was create by install using: gpart add -i 1 -t freebsd-zfs -s 2147483648b "da0s1") # /dev/da0s1: 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 4194304 0 ZFS b: 4194304 4194304 swap c: 18874304 0 unused 0 0 # "raw" part, don't edit d: 4194304 8388608 ZFS Please notice that da0s1 starts at 0 - so extreme care must be taken to not overwrite disklabel on 2nd sector (byte offest from 512 to 1023). =========================================================================== Using development machine with 2nd disk and GDB I have found following stacktrace (by putting breakpoint just at __sys_write): reakpoint 1.2, _write () at _write.S:4 4 _write.S: No such file or directory. (gdb) bt #0 _write () at _write.S:4 #1 0x00000008011af1f6 in __thr_write (fd=6, buf=0x7fffffffb040, nbytes=4096) at /usr/src/lib/libthr/thread/thr_syscalls.c:618 #2 0x000000000104c900 in zero_label (path=path@entry=0x7fffffffc190 "/dev/da1s1a") at /usr/src/sys/contrib/openzfs/cmd/zpool/zpool_vdev.c:905 #3 0x000000000104b5f0 in make_disks (zhp=zhp@entry=0x0, nv=0x801c10420) at /usr/src/sys/contrib/openzfs/cmd/zpool/zpool_vdev.c:1048 #4 0x000000000104b333 in make_disks (zhp=zhp@entry=0x0, nv=nv@entry=0x801c1d080) at /usr/src/sys/contrib/openzfs/cmd/zpool/zpool_vdev.c:1070 #5 0x000000000104b8e1 in make_root_vdev (zhp=0x6, zhp@entry=0x0, props=<optimized out>, force=force@entry=1, check_rep=<optimized out>, replacing=replacing@entry=B_FALSE, dryrun=dryrun@entry=B_FALSE, argc=1, argv=0x801c36040) at /usr/src/sys/contrib/openzfs/cmd/zpool/zpool_vdev.c:1864 #6 0x0000000001036ef9 in zpool_do_create (argc=<optimized out>, argv=<optimized out>) at /usr/src/sys/contrib/openzfs/cmd/zpool/zpool_main.c:1587 #7 0x00000000010364b6 in main (argc=9, argv=0x7fffffffeb38) at /usr/src/sys/contrib/openzfs/cmd/zpool/zpool_main.c:10755 The problematic code is on #3 0x000000000104b5f0 in make_disks (zhp=zhp@entry=0x0, nv=0x801c10420) at /usr/src/sys/contrib/openzfs/cmd/zpool/zpool_vdev.c:1048 Which looks like: ret = zero_label(udevpath); if (ret) return (ret); Here is source pointer but the line offset is a bit different from what I see in local sources of 13.2. release: - https://cgit.freebsd.org/src/blame/sys/contrib/openzfs/cmd/zpool/zpool_vdev.c?h=releng/13.2#n1080 And this is problem - overwriting disklabel.. -- You are receiving this mail because: You are the assignee for the bug.