FreeBSD/src 262fa46 — stand/libsa/zfs zfsimpl.c

stand: Implement zfs_dnode_readlink in terms of zfs_dnode_sa_lookup

Get the link offset using the zfs_dnode_sa_lookup helper now.

Recently, the symbolic links we rely on in the boot loader have stopped
working.

Prior to OpenZFS commit e90badec11d3 ("Inherit the project ID for every
object type", Matt Turner, 2026-08-14), symbolic link information was
written at a fixed offset in the SA data. Since that commit, the
inherited PROJIDs mean that all pools with quota enabled have started
writing symbolic links with a new, non-fixed offset. Old symbolic links
remained unchanged, but new ones were written with a different
offset. At work, we have all these things: rewritten BEs, quotas, and a
dependence on symbolic links in our boot path.

This came in on 2026-08-24 OpenZFS merge (22649d4dba73). This was 12
hours after stab week for August, so we didn't hit this until the
September stab week. Since the new kernel has to write links at the new

    [4 lines not shown]
DeltaFile
+4-31stand/libsa/zfs/zfsimpl.c
+4-311 files

FreeBSD/src 32fcc66 — stand/libsa/zfs zfsimpl.c

stand: Load dynamic system attribute offsets

zfs_sa_load looks up all the system attribute offsets and stores them in
the mountpoint.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D60264
DeltaFile
+122-0stand/libsa/zfs/zfsimpl.c
+122-01 files

FreeBSD/src 8bc06ba — stand/libsa/zfs zfsimpl.c

stand: Lookup specific SA value in a dnode

zfs_dnode_sa_lookup will look in the bonus part of the dnode for the
requested SA values, and fall back to the spill as if it's not there.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D60266
DeltaFile
+37-0stand/libsa/zfs/zfsimpl.c
+37-01 files

FreeBSD/src f382ef1 — stand/libsa/zfs zfsimpl.c

stand: update zfs_dnode_stat to use zfs_dnode_sa_lookup

Find the SA values with the zfs_dnode_sa_lookup and read out the
relevant bits for the stat buffer.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D60267
DeltaFile
+15-37stand/libsa/zfs/zfsimpl.c
+15-371 files

FreeBSD/src 4175fa1 — stand/libsa/zfs zfsimpl.c

stand: Lookup the offsets for this SA bundle

Compute the offset for the data for this bundle and the requested data
type.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D60265
DeltaFile
+67-0stand/libsa/zfs/zfsimpl.c
+67-01 files

FreeBSD/src ecd41c0 — stand/efi/boot1 zfs_module.c, stand/libsa/zfs zfs.c zfsimpl.c

stand: zfs_dnode_stat move from spa to mount argument

When reading dynamic system attributes, we'll need the mount argument
since we can no longer hard-code the offsets. Adjust zfs_dnode_stat to
take it.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D60261
DeltaFile
+4-4stand/libsa/zfs/zfsimpl.c
+1-1stand/libsa/zfs/zfs.c
+1-1stand/efi/boot1/zfs_module.c
+6-63 files

FreeBSD/src acbcb68 — stand/libsa/zfs zfsimpl.c

stand: Remove const from zfs_lookup's zfsmount argument

Dynamic system attribute layout can require modifications to the mount
structure on lookup. Drop the const to allow that.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D60260
DeltaFile
+1-1stand/libsa/zfs/zfsimpl.c
+1-11 files

FreeBSD/src 16cf795 — stand/libsa/zfs zfsimpl.c

stand: zfs_dnode_readlink move from spa to mount argument

For the dynamic system attributes, we'll need the mount argument. Adjust
zfs_dnode_readlink to take that argument.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D60262
DeltaFile
+5-4stand/libsa/zfs/zfsimpl.c
+5-41 files

FreeBSD/src 34f2f57 — release Makefile.vm

EC2: Use stream-optimized VMDK format

Once enabled on all of the branches, this will reduce bandwidth
consumption from uploading weekly snapshot builds from ~500 GB to
~100 GB, as well as significantly speeding up the process.

MFC after:      2 months
Sponsored by:   Amazon
DeltaFile
+1-1release/Makefile.vm
+1-11 files

FreeBSD/src 65840af — release Makefile.ec2

EC2: Pass --vmdk to bsdec2-image-upload if needed

Starting with version 1.5.0, bsdec2-image-upload supports uploading
stream-optimized VMDK files.  If we build images in that format, we
need to upload them appropriately.

MFC after:      2 weeks
Sponsored by:   Amazon
DeltaFile
+4-1release/Makefile.ec2
+4-11 files

FreeBSD/src 9a0b9a2 — usr.bin/mkimg Makefile vmdk.c

mkimg: Add support for stream-optimized VMDK

FreeBSD VM/cloud images tend to be highly compressible: The generic VM
images compress roughly 3.5:1, and cloud images typically even more
since they have significant unused space in their virtual disks.  This
generally doesn't matter for users who can download compressed release
images and extract them locally, but for EC2 in particular relying on
uncompressed image formats is painful: We now upload over 500 GB/week
to AWS.

This commit adds the "stream-optimized" version of the VMDK format,
which compresses each 64 kB "grain" individually (and omits grains
which are all zeroes).  Compared to uncompressed formats, this can
produce much smaller images; experiments indicate that using this
format for EC2 image uploads will reduce the weekly traffic to under
100 GB/week.

Co-authored-by: Claude Opus 5.5
MFC after:      2 weeks

    [2 lines not shown]
DeltaFile
+309-0usr.bin/mkimg/vmdk.c
+1-1usr.bin/mkimg/Makefile
+310-12 files

FreeBSD/src a68ba2d — . Makefile.inc1, sys/sys param.h

__FreeBSD_version: Bump for mkimg -f vmdks

Also, adjust bootstrap tools code in Makefile.inc1 to reflect this; in
addition to rebuilding mkimg if it is out of date, we now need to build
libz, which was not previously needed by mkimg.

Reviewed by:    kevans
MFC after:      2 weeks
Sponsored by:   Amazon
Differential Revision:  https://reviews.freebsd.org/D60153
DeltaFile
+4-3Makefile.inc1
+1-1sys/sys/param.h
+5-42 files

FreeBSD/src 88017d3 — usr.bin/mkimg mkimg.1

mkimg.1: Document new vmdks format

Reviewed by:    ziaee
Co-authored-by: Claude Opus 5.5
MFC after:      2 weeks
Sponsored by:   Amazon
Differential Revision:  https://reviews.freebsd.org/D60152
DeltaFile
+12-2usr.bin/mkimg/mkimg.1
+12-21 files

FreeBSD/src 65b8723 — usr.bin/mkimg/tests img-63x255-512-mbr.vmdks.hex img-63x255-512-ebr.vmdks.hex

mkimg: Add tests for vmdks format

This is the 'stream-optimized' version of the VMDK format.

MFC after:      2 weeks
Sponsored by:   Amazon
Differential Revision:  https://reviews.freebsd.org/D60154
DeltaFile
+617-0usr.bin/mkimg/tests/img-1x1-512-gpt.vmdks.hex
+617-0usr.bin/mkimg/tests/img-1x1-4096-gpt.vmdks.hex
+617-0usr.bin/mkimg/tests/img-63x255-4096-gpt.vmdks.hex
+617-0usr.bin/mkimg/tests/img-63x255-512-gpt.vmdks.hex
+596-0usr.bin/mkimg/tests/img-63x255-512-mbr.vmdks.hex
+596-0usr.bin/mkimg/tests/img-63x255-512-ebr.vmdks.hex
+3,660-015 files not shown
+11,963-121 files

FreeBSD/src 498276b — usr.bin/mkimg vmdk.c

mkimg: Make vmdk's desc_fmt slightly more generic

This will allow it to be reused in upcoming work.

Suggested by:   Claude Opus 5.5
MFC after:      2 weeks
Sponsored by:   Amazon
Differential Revision:  https://reviews.freebsd.org/D60150
DeltaFile
+6-3usr.bin/mkimg/vmdk.c
+6-31 files

FreeBSD/src 84a3e29 — usr.bin/mkimg image.h image.c

mkimg: Add image_buffer_region

This is like image_copyout_region, but copies into a buffer rather than
writing out to a file; it will be used by future support for compressed
images (and potentially other circumstances where image data must be
manipulated before being written out to disk).

Reviewed by:    jrm
No objection from:      Christos Komis (author)
MFC after:      2 weeks
Sponsored by:   Google LLC (GSoC 2025)
Differential Revision:  https://reviews.freebsd.org/D60149
DeltaFile
+68-0usr.bin/mkimg/image.c
+1-0usr.bin/mkimg/image.h
+69-02 files

FreeBSD/src 1a05231 — usr.bin/mkimg vmdk.c

mkimg: Check for realloc failure

If realloc fails, clean up and return ENOMEM; don't just copy data
into NULL.

Reviewed by:    emaste
Reported by:    Claude Opus 5.5
MFC after:      2 weeks
Sponsored by:   Amazon
Differential Revision:  https://reviews.freebsd.org/D60147
DeltaFile
+6-1usr.bin/mkimg/vmdk.c
+6-11 files

FreeBSD/src 434819b — usr.bin/mkimg image.c

mkimg: Avoid leaking a page of mmap

The image_file_map function adjusts the provided file offset to be
page-aligned, with a resulting increase in the size of the mapped
region; the increased size needs to be used when unmapping as well.

Reported by:    Claude Opus 5.5
Fixes:  baf4abfc39b2 ("Allow building mkimg as cross-tool")
MFC after:      2 weeks
Sponsored by:   Amazon
Differential Revision:  https://reviews.freebsd.org/D60148
DeltaFile
+5-4usr.bin/mkimg/image.c
+5-41 files

FreeBSD/src 40f4174 — usr.sbin/jail config.c

jail(8): Preserve const qualifier on strchr(3) results

Reviewed by:    fuz, dteske
Approved by:    fuz (mentor), dteske (mentor)
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D59876

(cherry picked from commit ab636e421d318a1175450d5652d8460dd2c48b76)
DeltaFile
+3-3usr.sbin/jail/config.c
+3-31 files

FreeBSD/src ad60cb1 — usr.sbin/pkg pkg.c

pkg(7): Preserve const qualifier on strrchr(3) results

Reviewed by:    fuz
Approved by:    fuz (mentor)
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D59777

(cherry picked from commit 47f9e665078210cf15cc3914611dccabda6084a4)
DeltaFile
+2-2usr.sbin/pkg/pkg.c
+2-21 files

FreeBSD/src 3b8ba87 — bin/ls print.c

ls(1): Preserve const qualifier on strstr(3) result

Reviewed by:    fuz
Approved by:    fuz (mentor)
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D59774

(cherry picked from commit cc61cc7b638a6a1182c0dd0989a7b630759f408c)
DeltaFile
+2-2bin/ls/print.c
+2-21 files

FreeBSD/src a8fcc58 — bin/ed io.c

ed(1): Preserve const qualifier on strchr(3) result

Reviewed by:    fuz
Approved by:    fuz (mentor)
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D59773

(cherry picked from commit 066fad8aefcb5bda77482c526757712ad0637aa9)
DeltaFile
+1-1bin/ed/io.c
+1-11 files

FreeBSD/src 850a848 — bin/dd args.c

dd(1): Preserve const qualifier on bsearch(3) results

Reviewed by:    fuz, dteske
Approved by:    fuz (mentor), dteske (mentor)
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D59754

(cherry picked from commit 225612c76d870aa6467853fbafcbe34e8296d0d9)
DeltaFile
+9-5bin/dd/args.c
+9-51 files

FreeBSD/src 536b344 — sbin/devmatch devmatch.c

devmatch(8): Preserve const qualifier on strchr(3) and strstr(3) results

Reviewed by:    fuz, dteske
Approved by:    fuz (mentor), dteske (mentor)
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D59667

(cherry picked from commit 592ae60e2b2eff6c2ec467c34be9a457ce24b044)
DeltaFile
+4-3sbin/devmatch/devmatch.c
+4-31 files

FreeBSD/src 9c18454 — bin/ps ps.c

ps(1): Preserve const qualifier on strchr(3) result

Reviewed by:    fuz, dteske
Approved by:    fuz (mentor), dteske (mentor)
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D59666

(cherry picked from commit d10e39d489a63cc034a1250d33e39743058639c2)
DeltaFile
+2-1bin/ps/ps.c
+2-11 files

FreeBSD/src 64df13d — lib/libjail jail.c

libjail: Preserve const qualifier on strchr(3) and strrchr(3) results

Reviewed by:    fuz
Approved by:    fuz (mentor)
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D59553

(cherry picked from commit c63b69f82a745c1b905c1050eeff9df96fe18f4c)
DeltaFile
+6-4lib/libjail/jail.c
+6-41 files

FreeBSD/src 8b360b4 — release/scripts make-oci-image.sh, release/tools oci-image-runtime.conf

release: Avoid generating .pkgsave files in OCI images

This also installs the pkg key from the current source tree instead of
using the one currently installed on the host.

Reviewed by:            dch
MFC after:              1 day
Differential Revision:  https://reviews.freebsd.org/D52615

(cherry picked from commit e21e6e96b662dcbb2f0e37ab356c9dded62a586e)
DeltaFile
+9-1release/scripts/make-oci-image.sh
+4-0release/tools/oci-image-runtime.conf
+13-12 files

FreeBSD/src 7656159 — sys/dev/virtio/console virtio_console.h virtio_console.c

virtio_console: Handle VIRTIO_CONSOLE_RESIZE

Multiport devices report console size per port by control event,
which was ignored and hence their ttys could never have a window
size.

Reviewed by:    markj
Approved by:    fuz (mentor)
Differential Revision:  https://reviews.freebsd.org/D60094
DeltaFile
+38-0sys/dev/virtio/console/virtio_console.c
+5-0sys/dev/virtio/console/virtio_console.h
+43-02 files

FreeBSD/src 15198bf — sys/dev/virtio/console virtio_console.c, sys/dev/virtio/network if_vtnet.c

virtio: Validate host-supplied used lengths

virtio_console used the host-supplied used lengths without
validation, so a host could report a length larger than
the buffer, causing the receive and control paths to read
past the end of it.  Clamp to the buffer size.

vtnet already rejected used lengths larger than the buffer,
but performed the check after converting the length to an
int, so a length larger than INT_MAX would become negative
and bypass the check.  Reject such frames early before the
conversion, and count them in ierrors and rx_frame_too_large.

Reviewed by:    markj
Approved by:    fuz (mentor)
Differential Revision:  https://reviews.freebsd.org/D60092
DeltaFile
+4-1sys/dev/virtio/network/if_vtnet.c
+2-0sys/dev/virtio/console/virtio_console.c
+6-12 files

FreeBSD/src 9c8dcc2 — sys/dev/virtio/console virtio_console.c

virtio_console: Negotiate VIRTIO_CONSOLE_F_SIZE

The driver reads cols/rows and sets the tty window size but
never offered the feature, so that code has been dead since
the very beginning; also read size under the configuration
generation count.

Reviewed by:    markj
Approved by:    fuz (mentor)
Differential Revision:  https://reviews.freebsd.org/D60089
DeltaFile
+12-5sys/dev/virtio/console/virtio_console.c
+12-51 files