chflags: Add a new UF_DONTCACHE flag
This internet draft (which is close to being an RFC)
specifies a new NFSv4.2 attribute which tells the NFSv4.2
client to not cache file data. (Similar to O_DIRECT, but
triggered by this attribute set on the file on the NFSv4.2
server and not by the application's open(2).)
https://datatracker.ietf.org/doc/draft-ietf-nfsv4-uncacheable-files/
This patch adds a new chflags(1) flag called UF_DONTCACHE to
implement this.
Patches for NFS and ZFS will be done separately.
Reviewed by: kib
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D58181
usbdump: add -t to omit timestamps
Matches tcpdump naming, but without getting more intense as you add more
-t. This slightly reduces the post-processing needed on usbdump output
to diff two transactions.
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D58196
bluetooth: signal devd on netgraph device events
Currently, devd emits events for external adapters only.
Send Netgraph init/disconnect events to devd so the internal adapter's
state could be asserted from userland.
(adrian - indentation changes.)
Signed-off-by: Kirill Orlov (-k) <slowdive at me.com>
Reviewed-by: adrian, imp
Pull-Request: https://github.com/freebsd/freebsd-src/pull/2196
hidwacom: Add Wacom ExpressKey Remote driver
The Wacom ExpressKey Remote (ACK-411050) is a wireless button pad
with 18 programmable buttons and a touch ring, used as a companion
device with Wacom tablets.
It communicates via a USB wireless receiver (0x056a:0x0331) using a
vendor-specific HID report (ID 0x11).
This driver exposes the device via evdev:
- 18 buttons: BTN_0–BTN_Z, BTN_BASE, BTN_BASE2
- Touch ring position via ABS_WHEEL (0–71; reports 0 on release)
- Pad activity marker via ABS_MISC (set to 15/PAD_DEVICE_ID when
any input is active, 0 when idle that matches Linux wacom driver
convention)
- Remote serial number via MSC_SERIAL (for userland per-remote
identification)
Battery level, charging state, and touch ring mode (3 LEDs, values 0–2)
[11 lines not shown]
rge: fix multicast add/removal by using if_getdrvflags()
Using if_getflags() to check IFF_DRV_RUNNING is wrong;
if_getdrvflags() is required. This issue resulted in the
multicast filter not being updated.
This was an oversight by me in my initial port.
Thanks to danilo@ for reporting it and Oleg <oleglelchuk at gmail.com>
for the fix.
PR: kern/295176
fwdv: add AV/C DV capture driver for FireWire camcorders
Add fwdv(4) driver for DV video capture from FireWire camcorders
using AV/C protocol and isochronous streaming.
Supports AV/C tape transport commands (play, stop, ff, rewind, pause,
record, eject) with NTSC/PAL auto-detection and read(2) interface
for frame capture.
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D58122
rockchip: fix stack overflow in rk8xx_rtc
Presumably surfaced by -fstack-protector-strong, rk8xx_settime was
triggering SSP when ntpd set the time on the RockPro64, at the very
least. A minor oops meant that the weeks mask was getting tossed into
the wrong field, and the mask was never populated. The mask is 0x7 for
all three of these, thus overflowing the `data` array in settime by one
byte.
PR: 296719
Reported by: jsm, "Tenkawa" on Discord
Reviewed by: mmel
Differential Revision: https://reviews.freebsd.org/D58182
Add a few missed files to ObsoleteFiles.inc
There were still some left-over files under usr/tests/gnu/usr.bin/diff,
causing the directory to not be fully removed. Add these to OLD_FILES.
Fixes: 134a4c78d070
tcp_bblog.4: Add a manual page for TCP Blackbox Logging
The tcp_bblog facility provides structured logging of TCP stack activity
for debugging and performance analysis. It is implemented in the kernel
and allows per-connection tracing of TCP events with low overhead.
Reviewed by: tuexen, ziaee
MFC after: 1 week
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D56252
loader: Add forgotten xz.c and zstdfs.c
These were overlooked when I added compression support.
Fixes: 86d719ae68aa ("loader: Add xzfs, like gzipfs but with xz.")
Fixes: c61ee49cd06a ("loader: zstd based filesystem, zstdfs like gzipfs")
Sponsored by: Netflix
renameat(2): add AT_RENAME_EXCHANGE flag
Currently no filesystems support it.
Reviewed by: mckusick
Discussed with: markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D57658
zonectl: display conventional zones better during RZ
zonectl's Report Zones subcommand displays a tabular list of zones. A
conventional zone's WP column is displayed as 0xffffffffffffffff , the
literal value that the HDD reports. But that's too wide for the column,
causing the text to be misaligned. It's also not really meaningful,
because the Write Pointer isn't really defined for a Conventional zone.
Change it to "-1" to fix the text misalignment.
MFC after: 2 weeks
Sponsored by: ConnectWise
Reviewed by: fuz
Differential Revision: https://reviews.freebsd.org/D57512
boot-test.sh: Test many boot loader combinations.
This is a script that eventually will test boot with qemu all the
supproted combinations for the boot loader. There's several things that
could be done with gptboot or boot0sio (or not) that aren't tested. We
don't test the 10-odd hardware root devices we support, nor do we test
complex scenarios like RELAXED vs STRICT zfs efi booting.
However, the scenarios we do support are included here. We test aarch64,
amd64, armv7, powerpc64, powerpc64le, and riscv64 for BIOS, UEFI, and
Prep and OpenFirmware (as appropriate) crossed with CDROM, MBR and GPT
(and some hybrid) crossed with lua, 4th and simple loaders. Plus some
linuxboot and memdisk scenarios, including the recently added
compression for ram disk scenarios:
=== Results: 67 passed, 3 failed, 9 timed out (of 79) ===
The timeouts are well understood, usually failure to find the root
disk. The failures are bad console assumptions. netboot-bios fails
[39 lines not shown]
nfsd: Commit missing patches for c52bcd09c2a6
Oops, I missed the other files for the commit.
This should fix the build.
Pointy hat goes on me.
MFC after: 2 weeks
Fixes: c52bcd09c2a6 ("nfsd: Garbage collect stray NFSv4 state")
loader: Add xzfs, like gzipfs but with xz.
This is just like gzipfs or bzipfs, except done with the newer xz
program. This is off by default for the moment.
Sponsored by: Netflix
loader.efi: Add xz decompression
We can now decompress .xz compressed memory disks, like
FreeBSD-15.1-RELEASE-amd64-disc1.iso.xz
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D58073
loader: Add xzfs support by defualt to BIOS and EFI loaders
For the BIOS, add xzfs support. This is a tiny increase in the loader
size, but allows us to fetch compressed files from any of the
filesystems we support, including over the network.
For EFI, also add gzipfs and bzip2fs support we well. The increment for
these files is tiny.
Sponsored by: Netflix
routing: Add test for nexthop subscription
Make sure we have reachability when one of our nexthops
gets down without deleting the route.
Differential Revision: https://reviews.freebsd.org/D57552
routing: Replace unreachable nhops in nhgrp
If a nhop gets an interface event, revalidate the nhops and
immediately try to recompile existing nexthop groups by
replacing unreachable nexthops with reachable ones.
If none are available, recompile them back to
their normal position in nexthop group slots.
Reviewed by: glebius
Discussed with: markj
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D57389
routing: Subscribe nhops to ifnet link events
Update nexthop flags with interface link status events and
instead of checking link status of interface for every packet
only check the reachability flag of the final nexthop.
Reviewed by: glebius
Discussed with: markj
Differential Revision: https://reviews.freebsd.org/D57375
nfsd: Garbage collect stray NFSv4 state
When a file is deleted on the NFS server by another client,
any NFSv4 state related to that file is left stranded.
This happens because the NFSv4 operations that free the
state use a CFH, which is set by a PutFH operation.
However, the PutFH fails with ESTALE because the file has
been deleted.
This patch adds a function called nfsrv_freestrandedstate()
that frees all the NFSv4 state related to a file and calls
this function when PutFH will be replying ESTALE.
While here, a helper function was defined to handle free'ng
of the nfslockfile structure and replaces the two places
where nearly identical code does this.
Reported by: Richard Purdie <richard.purdie at linuxfoundation.org>
Tested by: Michael Halstead <mhalstead at linuxfoundation.org>
MFC after: 2 weeks