Commit Graph

305797 Commits

Author SHA1 Message Date
christos 64cf3c5d82 specify the page size for PostScript 2024-04-05 23:05:53 +00:00
christos 4bd940221b specify the paper size for PostScript 2024-04-05 23:05:04 +00:00
christos b395dc204e From Jan-Benedict Glaw:
Use `printf` instead of `echo` for precise output

`man` pages generated under NetBSD and Linux differ as the escape codes
may or may not be interpreted when going through those two chained `echo`es.
Instead just use `printf`, which produces the desired output, always.
2024-04-05 22:30:18 +00:00
christos 4224f0436d Use ${TOOL_DATE} (Jan-Benedict Glaw) 2024-04-05 22:27:25 +00:00
christos 3200c2817b From Jan-Benedict Glaw:
Fix a redirection and prepare a stable sort for upper-/lowercase
option letters

This script is a mess, I strongly believe that it should be rewritten.
However, I'm not 100% sure why it was invented in the first place
(come on, the generated header file isn't _that_ complicated that
it couldn't be sanely managed by hand!), but let's fix the sorting
order by using LC_ALL=C.

Also add a few 'X' to the `mktemp` template to make non-BSD
implementations happy. As a bonus, actually *use* the initial `sed`
output instead of throwing it away by piping it into `sort` with
also connecting `sort`'s stdin with the original input file...
2024-04-05 22:22:17 +00:00
rillig c070e60d9e flex.1: fix single-bit error in contributor name 2024-04-05 22:21:40 +00:00
riastradh 2722c57029 usb *hci: Always set ux_status before usbd_xfer_schedule_timeout.
Add an assert to usbd_xfer_schedule_timeout to enforce this.

Since access to ux_status is serialized by the bus lock, and nothing
releases the bus lock in the interim, this doesn't make a functional
change.  But it does reduce confusion by readers, who no longer have
to worry if some callers got the order wrong.  It could also now
potentially be factored out in a subsequent commit.
2024-04-05 18:57:10 +00:00
christos e84b33b8b9 break strength ties so that qsort is deterministic 2024-04-05 16:56:58 +00:00
christos 2179683207 remove dup named dir 2024-04-05 16:44:54 +00:00
riastradh fda613df02 uvm: Expand v_size <= v_writesize assertions to help diagnostics.
PR kern/58117
2024-04-05 13:05:40 +00:00
kre 40580391fd Revert last, the .pic file is used elsewhere. 2024-04-05 12:03:24 +00:00
simonb dcc7d3f968 Apply FreeBSD svn r373278 fix for ZFS corruption. Fix for NetBSD
PR kern/58111 .

It would be extremely unlikely to trip this bug on NetBSD, as we don't
expose SEEK_DATA and SEEK_HOLE and you need to call ioctl(2) with
FIOSEEKDATA and FIOSEEKHOLE directly which no currently known code does,
and even then be unlucky enough to trip a race condition.

With a reproducer based on that in https://www.illumos.org/issues/16087,
I saw 11 groups of failures over 8 hours.  With this patch, no
failures in 10 hours.  The repro for NetBSD will be attached to
https://gnats.netbsd.org/58111 .

Original FreeBSD commit message:
--------------------------------
dnode_is_dirty: check dnode and its data for dirtiness

Over its history this the dirty dnode test has been changed between
checking for a dnodes being on `os_dirty_dnodes` (`dn_dirty_link`) and
`dn_dirty_record`.

It turns out both are actually required.

In the case of appending data to a newly created file, the dnode proper
is dirtied (at least to change the blocksize) and dirty records are
added.  Thus, a single logical operation is represented by separate
dirty indicators, and must not be separated.

The incorrect dirty check becomes a problem when the first block of a
file is being appended to while another process is calling lseek to skip
holes. There is a small window where the dnode part is undirtied while
there are still dirty records. In this case, `lseek(fd, 0, SEEK_DATA)`
would not know that the file is dirty, and would go to
`dnode_next_offset()`. Since the object has no data blocks yet, it
returns `ESRCH`, indicating no data found, which results in `ENXIO`
being returned to `lseek()`'s caller.

This change simply updates the dirty check to check both types of dirty.
If there's anything dirty at all, we immediately go to the "wait for
sync" stage, It doesn't really matter after that; both changes are on
disk, so the dirty fields should be correct.

Sponsored by:   Klara, Inc.
Sponsored by:   Wasabi Technology, Inc.
2024-04-05 11:20:34 +00:00
christos 510d1ca606 Just build the staticlib. 2024-04-05 11:04:37 +00:00
christos c998d55824 Fold long line 2024-04-05 11:04:19 +00:00
kre 390195052f Probable hack fix for current build breakage.
Make sure to build external/mit before external/mpl (as bind in mpl
needs libuv from mit) and in mit/libuv make sure to build the
static library with the new MAKESTATICLIB mechanism, as that is
what bind needs.
2024-04-05 08:51:27 +00:00
yamaguchi 6aa7c5ec4b lagg(4) test: Fix typo and old comment 2024-04-05 07:04:17 +00:00
yamaguchi 96257eaf2d lagg(4): Fix missing destroy for list and entry 2024-04-05 06:51:41 +00:00
yamaguchi 764ee25e7f lagg(4): Added vlan check 2024-04-05 06:48:22 +00:00
yamaguchi 48a2a44cd4 lagg(4): release lock before pserialize_perform() if possible 2024-04-05 06:37:29 +00:00
yamaguchi a656d0edac lagg(4): move reply limitation to recive processing 2024-04-05 06:31:37 +00:00
yamaguchi c17aa63752 lagg(4): remove unnecessary masking
pointed out by ozaki-r@, thanks.
2024-04-05 06:23:48 +00:00
yamaguchi 464ce4bce4 lagg(4): set suppress at the same time with distribution state 2024-04-05 06:21:02 +00:00
yamaguchi a9ee5ce0e3 added missing workq_wait for lacp_tick_work() 2024-04-05 06:19:28 +00:00
yamaguchi 5b8f2e24f6 lagg(4): added check of LACP running state for safety
When LACP stops, the handler of callout do nothing
because all port is already detached from lacp.
Therefore, the added checks are just for safety.
2024-04-05 06:16:32 +00:00
yamaguchi d7beb8e0b1 fix missing LACP_LOCK 2024-04-05 06:11:16 +00:00
yamaguchi 5f1c0ef919 lagg(4): added missing pserialize_read_enter 2024-04-05 06:07:36 +00:00
yamaguchi de1c469389 lagg(4): added __predict_true 2024-04-05 06:05:37 +00:00
christos 6b2da37d70 - Create 3 new variables:
MAKELINKLIB that follows MKLINKLIB but can be overwritten by Makefiles
  MAKESTATICLIB that follows MKSTATICLIB but can be overwritten by Makefiles
  LINKINSTALL that follows MAKELINKLIB but can be overwritten by Makefiles
  These give enough control to the module Makefiles so that they don't need
  to override the default library install rules which break the debug sets.
- Remove /usr/libexec/named which duplicated /usr/lib/named
2024-04-05 01:15:59 +00:00
riastradh 6dc5a3c0cc config(1): Make sort order deterministic.
Ensure we break ties in every case.  This way, even though we use the
unstable qsort(3) library routine, the output is reproducible, no
matter what algorithm is behind qsort(3).

It would be nice if we could just use a stable sort function here,
but mergesort(3) is nonstandard, so we'd have to add it to
tools/compat, which is a big pain.

Instead, put a tie-breaking rule in every comparison function we use
with qsort, and abort() in the event of ties -- that way, we noisily
refuse to rely on unstable sort order.

While here, dispense with any question of integer overflow, and
sprinkle comments.

PR bin/58115
2024-04-05 00:43:42 +00:00
christos 68ac9d1eae LIBISMODULE should be yes or no... 2024-04-04 23:54:17 +00:00
christos 7e6e103350 mention gallium.old hack 2024-04-04 23:53:05 +00:00
christos 4c0c17af69 Don't ccreate dwarf-4 on these files because it breaks ctfconvert. 2024-04-04 23:50:13 +00:00
riastradh 561072c7c1 Temporarily make PR t_sp:sigsafe noisier.
This is an attempt to diagnose why it's flaky in the releng testbeds
but not when I run it.  This change will be backed out once we get
new testbed output.
2024-04-04 21:19:25 +00:00
riastradh 3f53e7a4bf external/bsd/am-utils: delete outdated amd2netbsd under dist
This was stored as a local change to dist, where it doesn't belong --
it belongs outside dist.  But we already have an amd2netbsd with the
correct path outside of dist.
2024-04-04 20:33:59 +00:00
riastradh e5e887ba96 rumpkern/t_sp: Save stdout and stderr to report on failure.
This is not very tidy at the moment, but it's an experiment using the
approach in PR bin/58112, to diagnose why t_sp:sigsafe keeps failing
intermittently.  If this works, perhaps can tidy it up and apply it
to all the other tests that run rump_servers.
2024-04-04 17:27:32 +00:00
riastradh 3f29093143 rumpuser(3): New RUMP_STDOUT, RUMP_STDERR environment variables.
If set, then when rump daemonizes, it opens the path in RUMP_STDOUT
and redirects fd 1 to that (which mostly gets the kernel console
output), and opens the path in RUMP_STDERR and redirects fd 2 to that
(no idea what this gets but it's probably good to record if it ever
gets anything).

This will allow tests that rely on rump_server daemons to stash the
output for diagnostics in case, e.g., the rump kernel crashes.

PR bin/58112
2024-04-04 17:27:23 +00:00
christos 0bef817c68 Better output handling (des at FreeBSD) 2024-04-04 16:58:35 +00:00
christos 8fc8182a2b make this work again 2024-04-04 16:57:45 +00:00
yamaguchi 4579aeaf23 Added comments to lagg(4) 2024-04-04 09:19:42 +00:00
yamaguchi c428e044ad lagg(4): move allocate memory before ioctl 2024-04-04 09:09:24 +00:00
yamaguchi cc69629a41 Added KASSERT for LACP_LOCK 2024-04-04 08:54:52 +00:00
yamaguchi f47584394c lagg(4): Use CTASSERT 2024-04-04 08:53:14 +00:00
yamaguchi 8c7569230d lagg(4): replace NULL check with KASSERT because lp_softc is always non-NULL 2024-04-04 08:50:58 +00:00
yamaguchi 855e17817c lagg(4): increase output packets and bytes only if no error occurred
pointed out by ozaki-r@, thanks.
2024-04-04 08:38:22 +00:00
yamaguchi ca7931b0e1 lagg(4): change errno
suggested by ozaki-r@, thanks.
2024-04-04 08:36:03 +00:00
yamaguchi 0abd478027 lagg(4): added NULL check for pfil_run_hooks
pointed out by ozaki-r@, thanks.
2024-04-04 08:31:58 +00:00
yamaguchi 187fba3a2e lagg(4): move comment about IFF_PROMISC
pointed out by ozaki-r@, thanks.
2024-04-04 08:29:25 +00:00
yamaguchi 9fc4f92312 lagg(4): added size check to SIOCSLAGG
pointed out by ozaki-r@, thanks.
2024-04-04 08:26:32 +00:00
yamaguchi 48828ff959 added missing LAGG_UNLOCK() 2024-04-04 08:22:17 +00:00
yamaguchi 2e03b97e77 lagg(4): Remove unnecessary LAGG_LOCK holding while lagg_proto_detach()
to avoid deadlock in workqueue_wait due to LAGG_LOCK holding

lagg_proto_detach dose not need to hold LAGG_LOCK because only one
context can access to a detaching protocol after sc->sc_var is updated.
But it was held without any reason. And it had caused a deadlock by
holding LAGG_LOCK in caller of workqueue_wait
and waiting for the lock in worker.
2024-04-04 08:20:20 +00:00