Re: git: 718519f4efc7 - main - zfs: merge openzfs/zfs@d0a91b9f8

From: Cy Schubert <Cy.Schubert_at_cschubert.com>
Date: Mon, 25 Nov 2024 13:57:46 UTC
In message <20241124142859.D814033D@slippy.cwsent.com>, Cy Schubert writes:
> In message <202411240906.4AO96MWU074339@gitrepo.freebsd.org>, Martin 
> Matuska wr
> ites:
> > The branch main has been updated by mm:
> >
> > URL: https://cgit.FreeBSD.org/src/commit/?id=718519f4efc71096422fc71dab90b2
> a3
> > 369871ff
> >
> > commit 718519f4efc71096422fc71dab90b2a3369871ff
> > Merge: a46c121db4a5 d0a91b9f88a4
> > Author:     Martin Matuska <mm@FreeBSD.org>
> > AuthorDate: 2024-11-24 09:04:11 +0000
> > Commit:     Martin Matuska <mm@FreeBSD.org>
> > CommitDate: 2024-11-24 09:04:51 +0000
> >
> >     zfs: merge openzfs/zfs@d0a91b9f8
> >     
> >     Notable upstream pull request merges:
> >      #16643 -multiple Change rangelock handling in FreeBSD's zfs_getpages()
> >      #16697 46c4f2ce0 dsl_dataset: put IO-inducing frees on the pool deadli
> st
> >      #16740 -multiple BRT: Rework structures and locks to be per-vdev
> >      #16743 a60ed3822 L2ARC: Move different stats updates earlier
> >      #16758 8dc452d90 Fix some nits in zfs_getpages()
> >      #16759 534688948 Remove hash_elements_max accounting from DBUF and ARC
> >      #16766 9a81484e3 ZAP: Reduce leaf array and free chunks fragmentation
> >      #16773 457f8b76e BRT: More optimizations after per-vdev splitting
> >      #16782 0ca82c568 L2ARC: Stop rebuild before setting spa_final_txg
> >      #16785 d76d79fd2 zio: Avoid sleeping in the I/O path
> >      #16791 ae1d11882 BRT: Clear bv_entcount_dirty on destroy
> >      #16796 b3b0ce64d FreeBSD: Lock vnode in zfs_ioctl()
> >      #16797 d0a91b9f8 FreeBSD: Reduce copy_file_range() source lock to shar
> ed
> >     
> >     Obtained from:  OpenZFS
> >     OpenZFS commit: d0a91b9f88a47316158508bf304a61baa8c99c10
> >
> >  sys/contrib/openzfs/.mailmap                       |    2 +
> >  sys/contrib/openzfs/AUTHORS                        |    4 +
> >  sys/contrib/openzfs/META                           |    2 +-
> >  sys/contrib/openzfs/cmd/arc_summary                |    5 +-
> >  sys/contrib/openzfs/cmd/zdb/zdb.c                  |   34 +-
> >  sys/contrib/openzfs/cmd/zed/agents/zfs_retire.c    |    4 +-
> >  .../openzfs/include/os/freebsd/spl/sys/debug.h     |    4 +-
> >  .../openzfs/include/os/freebsd/spl/sys/vnode.h     |    2 -
> >  .../openzfs/include/os/linux/spl/sys/debug.h       |    4 +-
> >  sys/contrib/openzfs/include/sys/arc.h              |    1 +
> >  sys/contrib/openzfs/include/sys/arc_impl.h         |    1 +
> >  sys/contrib/openzfs/include/sys/brt_impl.h         |  106 +-
> >  sys/contrib/openzfs/include/sys/spa.h              |    1 +
> >  sys/contrib/openzfs/include/sys/spa_impl.h         |    6 +-
> >  sys/contrib/openzfs/include/sys/zap.h              |    7 +-
> >  sys/contrib/openzfs/man/man8/zpool-remove.8        |   36 +-
> >  sys/contrib/openzfs/man/man8/zpool.8               |   34 +
> >  .../openzfs/module/os/freebsd/zfs/zfs_vnops_os.c   |   81 +-
> >  .../openzfs/module/os/linux/zfs/zpl_super.c        |   13 +-
> >  sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c  |    2 +-
> >  sys/contrib/openzfs/module/zfs/arc.c               |   66 +-
> >  sys/contrib/openzfs/module/zfs/brt.c               | 1138 ++++++++--------
> --
> > --
> >  sys/contrib/openzfs/module/zfs/dbuf.c              |   19 +-
> >  sys/contrib/openzfs/module/zfs/dsl_dataset.c       |   28 +-
> >  sys/contrib/openzfs/module/zfs/spa.c               |    2 +
> >  sys/contrib/openzfs/module/zfs/spa_misc.c          |   17 +-
> >  sys/contrib/openzfs/module/zfs/zap_leaf.c          |  106 +-
> >  sys/contrib/openzfs/module/zfs/zap_micro.c         |   68 +-
> >  sys/contrib/openzfs/module/zfs/zio.c               |   27 +-
> >  sys/contrib/openzfs/module/zfs/zio_checksum.c      |    6 +
> >  sys/contrib/openzfs/module/zfs/zio_compress.c      |    4 -
> >  sys/contrib/openzfs/rpm/generic/zfs-dkms.spec.in   |    1 +
> >  .../openzfs/tests/zfs-tests/cmd/getversion.c       |    6 +-
> >  .../tests/functional/bclone/bclone_prop_sync.ksh   |    8 +-
> >  .../cli_root/zpool_status/zpool_status_008_pos.ksh |   10 +-
> >  sys/modules/zfs/zfs_config.h                       |    6 +-
> >  sys/modules/zfs/zfs_gitrev.h                       |    2 +-
> >  37 files changed, 956 insertions(+), 907 deletions(-)
> >
>
> This commit results in the following panic.
>
> Fatal trap 12: page fault while in kernel mode^M
> cpuid = 1; apic id = 01^M
> fault virtual address   = 0x8^M
> fault code              = supervisor write data, page not present^M
> instruction pointer     = 0x20:0xffffffff81502f4c^M
> stack pointer           = 0x28:0xfffffe008ea11680^M
> frame pointer           = 0x28:0xfffffe008ea11680^M
> code segment            = base 0x0, limit 0xfffff, type 0x1b^M
>                         = DPL 0, pres 1, long 1, def32 0, gran 1^M
> processor eflags        = interrupt enabled, resume, IOPL = 0^M
> current process         = 65 (zpool)^M
> rdi: fffffe00927d75f8 rsi: fffffe00927e9000 rdx: fffffe00927e9000^M
> rcx: 0000000000000000  r8: 0000000000000010  r9: fffffe000ec6a640^M
> rax: 0000000000000000 rbx: fffffe00927e9000 rbp: fffffe008ea11680^M
> r10: 0000000000000000 r11: 00000000c052d227 r12: fffff8000625ad10^M
> r13: 0000000000000000 r14: 0000000000000000 r15: 0000000000000000^M
> trap number             = 12^M
> panic: page fault^M
> cpuid = 1^M
> time = 1732429270^M
> KDB: stack backtrace:^M
> db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 
> 0xfffffe008ea11370^M
> vpanic() at vpanic+0x136/frame 0xfffffe008ea114a0^M
> panic() at panic+0x43/frame 0xfffffe008ea11500^M
> trap_fatal() at trap_fatal+0x40b/frame 0xfffffe008ea11560^M
> trap_pfault() at trap_pfault+0x46/frame 0xfffffe008ea115b0^M
> calltrap() at calltrap+0x8/frame 0xfffffe008ea115b0^M
> --- trap 0xc, rip = 0xffffffff81502f4c, rsp = 0xfffffe008ea11680, rbp = 
> 0xfffffe
> 008ea11680 ---^M
> list_insert_head() at list_insert_head+0x1c/frame 0xfffffe008ea11680^M
> vdev_add_child() at vdev_add_child+0xd2/frame 0xfffffe008ea116c0^M
> vdev_alloc() at vdev_alloc+0x9ab/frame 0xfffffe008ea11760^M
> spa_config_parse() at spa_config_parse+0x22/frame 0xfffffe008ea117b0^M
> spa_config_parse() at spa_config_parse+0x9c/frame 0xfffffe008ea11800^M
> spa_config_parse() at spa_config_parse+0x9c/frame 0xfffffe008ea11850^M
> spa_ld_mos_init() at spa_ld_mos_init+0x299/frame 0xfffffe008ea118d0^M
> spa_ld_mos_with_trusted_config() at spa_ld_mos_with_trusted_config+0x18/fram
> e 0x
> fffffe008ea11900^M
> spa_load() at spa_load+0xa7/frame 0xfffffe008ea11a70^M
> spa_tryimport() at spa_tryimport+0x1d9/frame 0xfffffe008ea11af0^M
> zfs_ioc_pool_tryimport() at zfs_ioc_pool_tryimport+0x3a/frame 
> 0xfffffe008ea11b20
> ^M
> zfsdev_ioctl_common() at zfsdev_ioctl_common+0x48d/frame 
> 0xfffffe008ea11bc0^M
> zfsdev_ioctl() at zfsdev_ioctl+0xee/frame 0xfffffe008ea11bf0^M
> devfs_ioctl() at devfs_ioctl+0xcb/frame 0xfffffe008ea11c40^M
> vn_ioctl() at vn_ioctl+0xc8/frame 0xfffffe008ea11cb0^M
> devfs_ioctl_f() at devfs_ioctl_f+0x1e/frame 0xfffffe008ea11cd0^M
> kern_ioctl() at kern_ioctl+0x255/frame 0xfffffe008ea11d40^M
> sys_ioctl() at sys_ioctl+0x101/frame 0xfffffe008ea11e00^M
> amd64_syscall() at amd64_syscall+0x115/frame 0xfffffe008ea11f30^M
> fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe008ea11f30^M
> --- syscall (54, FreeBSD ELF64, ioctl), rip = 0x33b958fe6b6a, rsp = 
> 0x33b94cd0f3
> 48, rbp = 0x33b94cd0f3b0 ---^M
> Uptime: 9s^M
> Dumping 425 out of 8160 MB:..4%..12%..23%..31%..42%..53%..61%..72%..83%..91%
> ^M

This requires a fresh clean build to work around the panic.

Sorry for not posting this earlier. I spent the whole day yesterday moving 
furniture. I didn't have it in me to do anything after that.


-- 
Cheers,
Cy Schubert <Cy.Schubert@cschubert.com>
FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  https://FreeBSD.org
NTP:           <cy@nwtime.org>    Web:  https://nwtime.org

			e^(i*pi)+1=0