From nobody Tue Apr 04 01:55:50 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pr9pV5ckFz43g8F; Tue, 4 Apr 2023 01:56:02 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Received: from mail-pf1-x432.google.com (mail-pf1-x432.google.com [IPv6:2607:f8b0:4864:20::432]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pr9pV58Kbz3xP1; Tue, 4 Apr 2023 01:56:02 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pf1-x432.google.com with SMTP id u20so20447020pfk.12; Mon, 03 Apr 2023 18:56:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680573361; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=NXxGJVLhQ9GiEGnfjRmGrZlceNA6WPbqBvj+NTw1RnA=; b=XL9efZ+sRomE9yP/HSHc1AJd/F7N0Uvz7roYFSw42rYHoY4wC3LCQrf4DQTiuykKpg FJFGfDcQoEqv+zadmd8B3niZPiioYbfpghrvleymYRax8dQEJfjUJlpMvDkYk4ZfW0lF igSSReAhAyuBzG53ew2Jlr3kYPIoBQS6acZY76PhlCOov0YmvfmOwGrcFBd31uZ0BWXu 7/7ecTVO6JmDK+fy7AXjE9XWAwip5/5elKT9h72vBZzNpxYfMYA3kalM/CL/0p8SL5NH lOtqtTitcQGXWfMHCrfpT0juP2RqpplWoCHF9k4BKHUMAgOJtXowm03P5DDTXbbVlhMl //RA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680573361; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=NXxGJVLhQ9GiEGnfjRmGrZlceNA6WPbqBvj+NTw1RnA=; b=lAIrk0KLGu92/0RwL2ywu979z0XfdcoFy8cpnlgZcGkRXOjZ0OGOzbMfOZH+WnUgWE n62ZAflDOLTRmNy2r+4vcW2HfryHABMqfVzd30gC/WDHxoOVwdTZaLvOx9Aaty10PQ1g 5K/FNrcLC4nnzQAJt97raItmiqQsRFqSEAP8WybSOZEbWNlhmdRNWkf+CjUk93f+HPQI H/TjXZDhExu9SHIgQlMW8x599YTV0zoHZeBbPotAJF82KZ34Raljf5w3YkFcG9NGt1Z9 brcm+jMRz+4cRKTqPVMfbZD9p9XlvZ4C6dwduv100k/GFYHf6zcd0RI0hgSf7ZWrjgrg D+0Q== X-Gm-Message-State: AAQBX9fGzmmsedstZjERyHyhsfaoqu2MK0hcvw717mtrVHb/T57WqWYJ 3qkBuiHLa4tbv7xPqNlp4hrAUviaEXKyoGKAPOtKmggnMg== X-Google-Smtp-Source: AKy350aCiDfI+PcobWT3TjtwslpJ56xbaegmR3zTNIJklZsRugiNpEfnV9L7iUot4LzO0XU+USmYndcMDlOk9s9Ia4A= X-Received: by 2002:a05:6a00:2e07:b0:622:b78d:f393 with SMTP id fc7-20020a056a002e0700b00622b78df393mr361809pfb.2.1680573361410; Mon, 03 Apr 2023 18:56:01 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202304031513.333FD6qw014903@gitrepo.freebsd.org> <20230403231444.CF48911F@slippy.cwsent.com> <20230403232549.73E331A2@slippy.cwsent.com> <20230403235851.84C0467@slippy.cwsent.com> In-Reply-To: <20230403235851.84C0467@slippy.cwsent.com> From: Rick Macklem Date: Mon, 3 Apr 2023 18:55:50 -0700 Message-ID: Subject: Re: git: 2a58b312b62f - main - zfs: merge openzfs/zfs@431083f75 To: Cy Schubert Cc: Martin Matuska , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/mixed; boundary="00000000000039ed2b05f878faaa" X-Rspamd-Queue-Id: 4Pr9pV58Kbz3xP1 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; TAGGED_FROM(0.00)[] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N --00000000000039ed2b05f878faaa Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Apr 3, 2023 at 4:58=E2=80=AFPM Cy Schubert wrote: > > In message om> > , Rick Macklem writes: > > On Mon, Apr 3, 2023 at 4:38=3DE2=3D80=3DAFPM Cy Schubert > om> wrote: > > > > > > In message <20230403231444.CF48911F@slippy.cwsent.com>, Cy Schubert w= rite=3D > > s: > > > > In message <202304031513.333FD6qw014903@gitrepo.freebsd.org>, Marti= n > > > > Matuska wr > > > > ites: > > > > > The branch main has been updated by mm: > > > > > > > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D3D2a58b312b62f908e= c92311=3D > > d1bd8536 > > > > db > > > > > aeb8e55b > > > > > > > > > > commit 2a58b312b62f908ec92311d1bd8536dbaeb8e55b > > > > > Merge: b98fbf3781df 431083f75bdd > > > > > Author: Martin Matuska > > > > > AuthorDate: 2023-04-03 14:49:30 +0000 > > > > > Commit: Martin Matuska > > > > > CommitDate: 2023-04-03 14:49:30 +0000 > > > > > > > > > > zfs: merge openzfs/zfs@431083f75 > > > > > > > > > > Notable upstream pull request merges: > > > > > #12194 Fix short-lived txg caused by autotrim > > > > > #13368 ZFS_IOC_COUNT_FILLED does unnecessary txg_wait_synce= d() > > > > > #13392 Implementation of block cloning for ZFS > > > > > #13741 SHA2 reworking and API for iterating over multiple i= mple=3D > > mentat > > > > io > > > > > ns > > > > > #14282 Sync thread should avoid holding the spa config writ= e lo=3D > > ck > > > > > when possible > > > > > #14283 txg_sync should handle write errors in ZIL > > > > > #14359 More adaptive ARC eviction > > > > > #14469 Fix NULL pointer dereference in zio_ready() > > > > > #14479 zfs redact fails when dnodesize=3D3Dauto > > > > > #14496 improve error message of zfs redact > > > > > #14500 Skip memory allocation when compressing holes > > > > > #14501 FreeBSD: don't verify recycled vnode for zfs control= dir=3D > > ectory > > > > > #14502 partially revert PR 14304 (eee9362a7) > > > > > #14509 Fix per-jail zfs.mount_snapshot setting > > > > > #14514 Fix data race between zil_commit() and zil_suspend() > > > > > #14516 System-wide speculative prefetch limit > > > > > #14517 Use rw_tryupgrade() in dmu_bonus_hold_by_dnode() > > > > > #14519 Do not hold spa_config in ZIL while blocked on IO > > > > > #14523 Move dmu_buf_rele() after dsl_dataset_sync_done() > > > > > #14524 Ignore too large stack in case of dsl_deadlist_merge > > > > > #14526 Use .section .rodata instead of .rodata on FreeBSD > > > > > #14528 ICP: AES-GCM: Refactor gcm_clear_ctx() > > > > > #14529 ICP: AES-GCM: Unify gcm_init_ctx() and gmac_init_ctx= () > > > > > #14532 Handle unexpected errors in zil_lwb_commit() without= ASS=3D > > ERT() > > > > > #14544 icp: Prevent compilers from optimizing away memset() > > > > > in gcm_clear_ctx() > > > > > #14546 Revert zfeature_active() to static > > > > > #14556 Remove bad kmem_free() oversight from previous zfsde= v_st=3D > > ate_li > > > > st > > > > > patch > > > > > #14563 Optimize the is_l2cacheable functions > > > > > #14565 FreeBSD: zfs_znode_alloc: lock the vnode earlier > > > > > #14566 FreeBSD: fix false assert in cache_vop_rmdir when re= play=3D > > ing ZI > > > > L > > > > > #14567 spl: Add cmn_err_once() to log a message only on the= fir=3D > > st cal > > > > l > > > > > #14568 Fix incremental receive silently failing for recursi= ve s=3D > > ends > > > > > #14569 Restore ASMABI and other Unify work > > > > > #14576 Fix detection of IBM Power8 machines (ISA 2.07) > > > > > #14577 Better handling for future crypto parameters > > > > > #14600 zcommon: Refactor FPU state handling in fletcher4 > > > > > #14603 Fix prefetching of indirect blocks while destroying > > > > > #14633 Fixes in persistent error log > > > > > #14639 FreeBSD: Remove extra arc_reduce_target_size() call > > > > > #14641 Additional limits on hole reporting > > > > > #14649 Drop lying to the compiler in the fletcher4 code > > > > > #14652 panic loop when removing slog device > > > > > #14653 Update vdev state for spare vdev > > > > > #14655 Fix cloning into already dirty dbufs > > > > > #14678 Revert "Do not hold spa_config in ZIL while blocked = on I=3D > > O" > > > > > > > > > > Obtained from: OpenZFS > > > > > OpenZFS commit: 431083f75bdd3efaee992bdd672625ec7240d252 > > > > > > > > Just a heads up, I'm encountering the following error with an NFS s= hare=3D > > of > > > > a ZFS dataset. > > > > > > > > Fatal trap 12: page fault while in kernel mode > > > > cpuid =3D3D 1; apic id =3D3D 01 > > > > fault virtual address =3D3D 0x178 > > > > fault code =3D3D supervisor read data, page not present > > > > instruction pointer =3D3D 0x20:0xffffffff814eebcd > > > > stack pointer =3D3D 0x28:0xfffffe00ec6c7cd0 > > > > frame pointer =3D3D 0x28:0xfffffe00ec6c7d50 > > > > code segment =3D3D base 0x0, limit 0xfffff, type 0x1b > > > > =3D3D DPL 0, pres 1, long 1, def32 0, gran 1 > > > > processor eflags =3D3D interrupt enabled, resume, IOPL =3D3D 0 > > > > current process =3D3D 3735 (nfsd: master) > > > > rdi: fffff8020a6f8570 rsi: fffffe00ec6c80d8 rdx: fffff8020f56f3a0 > > > > rcx: fffffe00ec6c80e0 r8: 0 r9: 1000000 > > > > rax: 0 rbx: fffff80210123540 rbp: fffffe00ec6c7d50 > > > > r10: 1876 r11: ffffffff81714596 r12: fffffe00ec6c7d20 > > > > r13: 0 r14: fffff8020b2f3e00 r15: fffffe00ec6c7d68 > > > > trap number =3D3D 12 > > > > panic: page fault > > > > cpuid =3D3D 1 > > > > time =3D3D 1680563351 > > > > KDB: stack backtrace: > > > > db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame > > > > 0xfffffe00ec6c7a90 > > > > vpanic() at vpanic+0x152/frame 0xfffffe00ec6c7ae0 > > > > panic() at panic+0x43/frame 0xfffffe00ec6c7b40 > > > > trap_fatal() at trap_fatal+0x409/frame 0xfffffe00ec6c7ba0 > > > > trap_pfault() at trap_pfault+0x4f/frame 0xfffffe00ec6c7c00 > > > > calltrap() at calltrap+0x8/frame 0xfffffe00ec6c7c00 > > > > --- trap 0xc, rip =3D3D 0xffffffff814eebcd, rsp =3D3D 0xfffffe00ec6= c7cd0, r=3D > > bp =3D3D > > > > 0xfffffe00ec6c7d50 --- > > > > zfs_freebsd_copy_file_range() at zfs_freebsd_copy_file_range+0x1bd/= fram=3D > > e > > > > 0xfffffe00ec6c7d50 > > Can you find out the line# for the above? > > (I'll admit I don't know how to do that for loadable modules.) > > > > I know nothing about ZFS, but I might be able to spot why the > > VOP_COPY_FILE_RANGE() might be crashing. > > Looks like a NULL pointer reference to a fairly large structure. > > (I don't think a zfs_copy_file_range() exists in older ZFS versions?) > > I don't think it does so it calls vn_generic_copy_file_range() instead. > > A workaround at vfs_vnops.c:3077 should fix it but I'm not sure if this i= s > the correct fix. Well, I looked and the crash is obvious. For the NFS server, the last argument (fsize_td) is NULL (as noted by "man VOP_COPY_FILE_RANGE()). zfs_copy_file_range() cannot use ap->a_fsizetd->td_ucred for the NFS server case. It should probably use ap->a_incred or ap->a_outcred when ap->a_fsizetd =3D=3D NULL. (Both ap->a_incred and ap->a_outcred are the same for the NFS server, so either one should be ok.) You could try the attached patch, rick > > > -- > Cheers, > Cy Schubert > FreeBSD UNIX: Web: https://FreeBSD.org > NTP: Web: https://nwtime.org > > e^(i*pi)+1=3D0 > > > > h=C3=A1L --00000000000039ed2b05f878faaa Content-Type: application/octet-stream; name="zfscopy.patch" Content-Disposition: attachment; filename="zfscopy.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lg1lz54n0 LS0tIHN5cy9jb250cmliL29wZW56ZnMvbW9kdWxlL29zL2ZyZWVic2QvemZzL3pmc192bm9wc19v cy5jLnNhdgkyMDIzLTA0LTAzIDE4OjQ5OjEzLjgzNDQzODAwMCAtMDcwMA0KKysrIHN5cy9jb250 cmliL29wZW56ZnMvbW9kdWxlL29zL2ZyZWVic2QvemZzL3pmc192bm9wc19vcy5jCTIwMjMtMDQt MDMgMTg6NTE6MDcuODQ0ODUyMDAwIC0wNzAwDQpAQCAtNjI4OSw4ICs2Mjg5LDEyIEBAIHpmc19m cmVlYnNkX2NvcHlfZmlsZV9yYW5nZShzdHJ1Y3Qgdm9wX2NvcHlfZmlsZV9yYW5nZQ0KIAlpZiAo ZXJyb3IgIT0gMCkNCiAJCWdvdG8gdW5sb2NrOw0KIA0KLQllcnJvciA9IHpmc19jbG9uZV9yYW5n ZShWVE9aKGludnApLCBhcC0+YV9pbm9mZnAsIFZUT1oob3V0dnApLA0KLQkgICAgYXAtPmFfb3V0 b2ZmcCwgJmxlbiwgYXAtPmFfZnNpemV0ZC0+dGRfdWNyZWQpOw0KKwlpZiAoYXAtPmFfZnNpemV0 ZCAhPSBOVUxMKQ0KKwkJZXJyb3IgPSB6ZnNfY2xvbmVfcmFuZ2UoVlRPWihpbnZwKSwgYXAtPmFf aW5vZmZwLCBWVE9aKG91dHZwKSwNCisJCSAgICBhcC0+YV9vdXRvZmZwLCAmbGVuLCBhcC0+YV9m c2l6ZXRkLT50ZF91Y3JlZCk7DQorCWVsc2UNCisJCWVycm9yID0gemZzX2Nsb25lX3JhbmdlKFZU T1ooaW52cCksIGFwLT5hX2lub2ZmcCwgVlRPWihvdXR2cCksDQorCQkgICAgYXAtPmFfb3V0b2Zm cCwgJmxlbiwgYXAtPmFfaW5jcmVkKTsNCiAJKmFwLT5hX2xlbnAgPSAoc2l6ZV90KWxlbjsNCiAN CiB1bmxvY2s6DQo= --00000000000039ed2b05f878faaa--