User Details
- User Since
- Jun 2 2014, 4:20 PM (625 w, 2 d)
Mon, May 25
C had finally outpaced the generic catch-all function... eopnotsupp, or similar, has been around since at least v4 (the first C version we have).
nodev()
{
u.u_error = ENODEV;
}I know this is for one of the kernel sanitizers and not strictly forced by new C behavior, but still...
Sun, May 24
So minfree=1 or =2 will avoid n^2 behavior in block allocations. If it's a read-only image, then that doesn't matter, but if the final image does a lot of that minfree=0 could be a problem and at least needs an note somewhere.
ok, but maybe 16 is better encoded as a variable name.
With the proviso that track boundaries are almost useless today, even for MBR which once upon a time was tied to track boundaries.
Nice catch
I'd like to echo the user requirement. I have not current need for it at $WORK, but can see a need in the future. Having the ability for users to tie into the startup, running as themselves, much like we allow users to add jobs to cron, at, etc would be a useful, but not gating, feature.
Thu, May 21
Tue, May 19
Sun, May 17
What are the risks this a avoids?
Fri, May 15
oh, this is in
commit 4fb507cae916d04fcd1e80e69923c5ca5c4340eb Author: Warner Losh <imp@FreeBSD.org> Date: Mon Feb 9 09:14:16 2026 -0700
(defconst knf-c-style
'((c-basic-offset . 8)
(c-comment-only-line-offset . 0)
(c-offsets-alist . ((statement-block-intro . +)
(knr-argdecl-intro . +)
(substatement-open . 0)
(label . 0)
(statement-cont . +)
(inline-open . 0)
(inexpr-class . 0)
(statement-cont . *)
(arglist-cont . *)
(arglist-cont-nonempty *))))
"BSD KNF")
(c-add-style "knf" knf-c-style)is what I use.
Thu, May 14
This looks good to my eye.
However, in the future, can you please use git-arc to upload patches, or generate the raw diffs with -U99999 please? There's no context to this review making it harder to verify that other paths make this same check.
There's also a onw or places in the tree that climb the tree to find pci
Wed, May 13
Does this let us take anything out of badfiles.inc?
Mon, May 11
OK. I'm happy.
looks good, not sure why free vs destroy though
Sun, May 10
The commit message should explain why...
Just update the phabricator summary
Sat, May 9
Thu, May 7
so long as these flags are cool for clang 19 and 20, this is fine.
Nice catch! Thanks!
Thanks!
Wed, May 6
Looks very straight forward! Thanks for this addition.
Tue, May 5
+1 on doc too
Mon, May 4
Fri, May 1
Thu, Apr 30
Wed, Apr 29
Apr 27 2026
This looks great!
Apr 26 2026
bootx64.efi is amd64-specific, so I'm glad you've added the clarifying note!
This looks great! Thanks for updating the docs.
I'm unsure about this novel dance with F_GETFL. I've not seen this in any of the other init programs I've looked at (admittedly, they were Linux or older BSDs), so I'd be curious to understand the reasoning behind that vs doing the simpler code I left in the specific comment.
Apr 25 2026
Now that lead me down the rabbit hole.
boot2 doesn't do this in boot2.c. It calls lookup() which is in ufsread.c in libsa. And that has this loop to parse the path (path is a cursor variable that walks through the path, s is the end of this segment of the path):
for (;;) {
if (*path == '/')
path++;
...
for (s = path; *s && *s != '/'; s++);
...
ls = *path == '?' && n == 1 && !*s;
...
if ((dt = fsfind(name, &ino)) <= 0)
break;
path = s;
}n == 1 means that ? is the only character (ignoring degenerate cases) after the / and is the last character of the string. So ? or /bin/? or /usr/local/lib/? will trigger ls == true. fsfind checks the global variable 'ls' and will just print all the files in that directory and return 0 so this loop terminates.
This is great. And it looks like there's more wired up than just -z for apm.
And to answer your other question: only suspend works
Apm, the program, works on any acpi machine. It's what is installed as zzz and still works. Apmd only talks to APM BIOS machines which are 20years dead at this point. Apm, the program, calls a generic interface for sleeping...
Apr 24 2026
review from chuck