Files
scoutfs-notify/patches
William Gill 25a2182c45 v1.29-notify-3: rewrite daemon in Go, fix record size
Two changes from v1.29-notify-2:

1. kmod: fix a latent ring-size compile error.  The record struct was
   56 bytes with an _pad[6] trailer, which meant
   NOTIFY_RING_BYTES / sizeof(record) = 1170 events per ring —
   not a power of two, so the BUILD_BUG_ON in notify_setup would
   have fired.  Bumped _pad to 14 bytes so the record is 64 bytes,
   capacity is 1024, and every record is cache-line aligned.  Wire
   ABI bumped accordingly; no deployed consumers yet.

2. scoutfs-notifyd: rewritten in Go using the standard library
   only.  Three goroutines (reader / accept / broadcaster) with
   channel communication replace the single-thread epoll + ioctl
   loop from the C version.  Slow-client handling is done by
   setting an in-the-past write deadline; the broadcaster drops
   clients whose kernel send buffer is full.

   Packaging changes: utils/Makefile now invokes "go build" with
   CGO_ENABLED=0 and GOPROXY=off; utils/scoutfs-utils.spec.in adds
   BuildRequires: golang >= 1.21.
2026-04-22 14:34:12 -05:00
..