Page MenuHomeFreeBSD

asomers (Alan Somers)
User

Projects

User Details

User Since
May 9 2014, 11:04 PM (565 w, 3 d)

Recent Activity

Wed, Mar 5

asomers committed rG202a2be0941e: witness.4: correct name of the debug.witness.witness_count sysctl (authored by asomers).
witness.4: correct name of the debug.witness.witness_count sysctl
Wed, Mar 5, 6:53 PM

Mon, Mar 3

asomers accepted D49223: src: Use c++17 as the default C++ standard.

This LGTM. C++20 would be nicer, because it would simplify one thing in the fusefs tests, but that would require a whole new tinderbox run.

Mon, Mar 3, 9:54 PM

Thu, Feb 27

asomers committed R11:ce4c8c49210b: sysutils/py-salt: fix commands like "service salt_minion status" (authored by asomers).
sysutils/py-salt: fix commands like "service salt_minion status"
Thu, Feb 27, 9:15 PM

Mon, Feb 24

asomers committed R11:99500c6165af: filesystems/ztop: release 0.3.0 (authored by asomers).
filesystems/ztop: release 0.3.0
Mon, Feb 24, 12:38 AM

Mon, Feb 17

asomers accepted D49039: kyua: Pass unprivileged user config prop to ATF using all known names.

LGTM. Except that the commit message contains a typo: "uprivileged_user" => "unprivileged_user"

Mon, Feb 17, 11:26 PM

Fri, Feb 14

asomers accepted D49007: tests: Require python3 when using Scapy.

What maintenance burden, @kp? I think it's a worthwhile change. I've run into similar problems myself. I find it easy to have a system where something pulls in, say, lang/python311 but not lang/python3.

Fri, Feb 14, 6:49 PM

Tue, Feb 11

asomers accepted D48931: ctld: Fail for missing or invalid CHAP secrets in UCL config.

Ahh, sorry for the noise.

Tue, Feb 11, 9:31 PM
asomers accepted D48933: ctld: Fix parsing of text values for DSCP in UCL parser.

The old code certainly looks broken. I guess nobody was using it?

Tue, Feb 11, 6:35 PM
asomers accepted D48932: ctld: Use preferred style for evaluating result of strcmp.

It's frustrating that file parsing is so difficult in C.

Tue, Feb 11, 6:24 PM
asomers requested changes to D48931: ctld: Fail for missing or invalid CHAP secrets in UCL config.
Tue, Feb 11, 6:23 PM
asomers accepted D48930: ctld: Fix the isns-period and isns-timeout keywords in the UCL parser.

Yikes. I guess nobody was using those.

Tue, Feb 11, 6:20 PM
asomers accepted D48929: ctld: Consistently free temporary strings during yacc parsing.

Did you check for any similar resource leaks in uclparse.c ?

Tue, Feb 11, 6:20 PM
asomers accepted D48928: ctld: Some bool-related cleanups.

Thanks for doing all this cleanup.

Tue, Feb 11, 6:18 PM
asomers accepted D48927: ctld: Drop some #if 0'd debugging traces.
Tue, Feb 11, 5:10 PM

Feb 7 2025

asomers added a comment to D48798: ctld: replace macros with enums.
In D48798#1115132, @jhb wrote:

FYI, one hiccup with this plan is that yacc only generates C code. I am working on creating a dedicated C API to sit between parse.y and ctld.c so that the rest of ctld can be C++. Blech.

Feb 7 2025, 9:49 PM
asomers added a comment to D48798: ctld: replace macros with enums.
In D48798#1114872, @jhb wrote:

I'm somewhat torn on doing a big change while the nvme stuff is in flight, but I do think maybe we should just bite the bullet. git can handle renames pretty sanely for rebasing I think.

So what I think I would like to do is go ahead and convert ctld(8) to C++. The first commit would be to just rename all the .c files to .cc and change the Makefile, but make no other functional changes. We might need to a prep commit to add BEGIN_DECLS and END_DECLS to libiscsiutil.h. After that lands, you could rebase this and use C++ enum classes for these. I might also use classes instead of my protocol_ops structure in the nvme vs iscsi changes. It might be nice to use classes for several of the data structures in fact including auth_groups, portal_groups, etc. Also while updating certain things it might nice to use STL containers in place of queue macros, but that can be done incrementally.

Feb 7 2025, 4:42 PM

Feb 4 2025

asomers added inline comments to D48798: ctld: replace macros with enums.
Feb 4 2025, 3:56 PM

Feb 2 2025

asomers accepted D48775: nvmft: Export more info for a ctl port for use by ctladm.
Feb 2 2025, 10:10 PM
asomers requested review of D48798: ctld: replace macros with enums.
Feb 2 2025, 10:01 PM
asomers added inline comments to D48772: ctld: Add abstractions to support multiple target protocols.
Feb 2 2025, 5:44 PM
asomers accepted D48774: ctladm: Use nvlist instead of home-rolled name-value lists.
Feb 2 2025, 4:17 PM

Feb 1 2025

asomers accepted D48771: ctld: Move kernel_limits into login.c where it is used.
Feb 1 2025, 2:24 PM

Jan 31 2025

asomers requested changes to D48771: ctld: Move kernel_limits into login.c where it is used.
Jan 31 2025, 10:25 PM
asomers accepted D48770: ctld: Don't specify the TCP port for default iSCSI portal group sockets.
Jan 31 2025, 10:20 PM
asomers accepted D48769: ctld: Refactor out functions to parse dscp and pcp properties.
Jan 31 2025, 10:15 PM
asomers accepted D48768: ctld: Write the pidfile once after forking.

Thank you!

Jan 31 2025, 10:09 PM
asomers accepted D48767: libnvmf: Add nvmf_nqn_valid_strict() function.

The only improvement I could suggest would be to factor out the guts of both functions into a third, private function. That would save callers of nvmf_nqn_valid_strict from calling strlen twice. But it's probably premature optimization.

Jan 31 2025, 10:05 PM

Jan 28 2025

asomers accepted D48597: ctld: Use kevent(2) for socket events rather than select(2).

I think this is ok. Losing the ability to apply configuration once before daemonizing is unfortunate but understandable. If it's a problem, we can fix it later by using rfork. I also see that you're only passing a single-element eventlist to kevent, which isn't the most efficient. But ctld isn't supposed to get a high rate of connections, so that's fine.

Jan 28 2025, 8:17 PM
asomers updated the diff for D48706: fstat: identify kqueue and mqueue file descriptors.
  • fixup: add eventfd too
Jan 28 2025, 6:04 PM
asomers requested review of D48706: fstat: identify kqueue and mqueue file descriptors.
Jan 28 2025, 6:02 PM

Jan 24 2025

asomers added a comment to D48650: routing: do not allow PINNED routes to be overridden.

This change addresses the failing test, but there's a new failure in sys/netinet/fibs_test:same_ip_multiple_ifaces_fib0. The test creates two interfaces, then assigns the same IP address to each, with different masks. With this change, the second address assignment fails with EEXIST.

I'm not sure if that's actually a valid thing to do in practice; see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=189089 . Maybe @asomers remembers?

Jan 24 2025, 4:46 PM

Jan 23 2025

asomers accepted D48648: libiscsiutil: Add log_warnc() and log_errc() functions.
Jan 23 2025, 8:41 PM
asomers accepted D48594: ctld: Use bool in uclparse.c.
Jan 23 2025, 7:15 PM
asomers added inline comments to D48597: ctld: Use kevent(2) for socket events rather than select(2).
Jan 23 2025, 5:02 PM
asomers accepted D48622: ctld: Fix assertion against the wrong field.

I guess this is OK, but I haven't ever done anything with the discovery code, so I don't know how it's supposed to work.

Jan 23 2025, 4:15 PM
asomers accepted D48595: ctld: Use nvlist instead of home-rolled name-value lists.
Jan 23 2025, 4:14 PM

Jan 22 2025

asomers added inline comments to D48597: ctld: Use kevent(2) for socket events rather than select(2).
Jan 22 2025, 11:17 PM
asomers requested changes to D48595: ctld: Use nvlist instead of home-rolled name-value lists.
Jan 22 2025, 10:53 PM
asomers accepted D48596: ctld: Factor our code to setup a listening socket into a separate function.
Jan 22 2025, 10:26 PM
asomers accepted D48594: ctld: Use bool in uclparse.c.
Jan 22 2025, 8:04 PM
asomers accepted D48593: iscsi: Move valid_iscsi_name to libiscsiutil.

This LGTM. But now libiscsiutil is just begging for some ATF tests.

Jan 22 2025, 8:00 PM

Jan 21 2025

asomers accepted D48585: fibs tests: Fix test failures and simplify.

This is a great use of vnet.

Jan 21 2025, 9:23 PM

Jan 20 2025

asomers committed rG1486bb0bfcac: Fix lib/libc/nss/getgr_test with large numbers of groups (authored by asomers).
Fix lib/libc/nss/getgr_test with large numbers of groups
Jan 20 2025, 10:42 PM
asomers committed rGe8a272048a0f: fusefs: fix a memory leak (authored by asomers).
fusefs: fix a memory leak
Jan 20 2025, 10:42 PM
asomers committed rG039609b04d63: fusefs: ignore FUSE_NO_OPEN(DIR)_SUPPORT flags (authored by CismonX <admin@cismon.net>).
fusefs: ignore FUSE_NO_OPEN(DIR)_SUPPORT flags
Jan 20 2025, 10:36 PM
asomers committed rG4ded81daacec: namei: add more detail about LOCKSHARED's behavior (authored by asomers).
namei: add more detail about LOCKSHARED's behavior
Jan 20 2025, 10:34 PM
asomers committed rG2b4a45992a04: fusefs: FUSE_NOTIFY_INVAL_* must busy the mountpoint (authored by asomers).
fusefs: FUSE_NOTIFY_INVAL_* must busy the mountpoint
Jan 20 2025, 10:33 PM
asomers committed rG1bcf8494d934: ktls.4: note that security/gnutls now supports ktls (authored by asomers).
ktls.4: note that security/gnutls now supports ktls
Jan 20 2025, 10:32 PM
asomers committed rG06b782abaafe: tmpfs: remove duplicate flags check in tmpfs_rmdir (authored by mscotty_protonmail.ch).
tmpfs: remove duplicate flags check in tmpfs_rmdir
Jan 20 2025, 10:29 PM
asomers committed rGe758e5512005: nfscl: fix uninitialized memory in nfsv4_loadattr (authored by asomers).
nfscl: fix uninitialized memory in nfsv4_loadattr
Jan 20 2025, 10:27 PM
asomers committed rG3dc01440a064: Fix lib/libc/nss/getgr_test with large numbers of groups (authored by asomers).
Fix lib/libc/nss/getgr_test with large numbers of groups
Jan 20 2025, 4:58 PM
asomers committed rG09df42f1d592: fusefs: Coverity cleanup in the lseek tests (authored by asomers).
fusefs: Coverity cleanup in the lseek tests
Jan 20 2025, 4:53 PM
asomers committed rG8b2b77c32f2e: fusefs: minor cleanup in the tests (authored by asomers).
fusefs: minor cleanup in the tests
Jan 20 2025, 4:53 PM
asomers committed rG60311a50779d: fusefs: fix a memory leak (authored by asomers).
fusefs: fix a memory leak
Jan 20 2025, 4:53 PM
asomers committed rGd2c25c4c5e5b: fusefs: ignore FUSE_NO_OPEN(DIR)_SUPPORT flags (authored by CismonX <admin@cismon.net>).
fusefs: ignore FUSE_NO_OPEN(DIR)_SUPPORT flags
Jan 20 2025, 4:53 PM
asomers committed rGfb4e0325c758: fusefs: delete a comment in the tests (authored by asomers).
fusefs: delete a comment in the tests
Jan 20 2025, 4:53 PM
asomers committed rGb0348117953a: fusefs: More accurately test the unique tokens in the test suite (authored by asomers).
fusefs: More accurately test the unique tokens in the test suite
Jan 20 2025, 4:53 PM
asomers committed rG887494153482: namei: add more detail about LOCKSHARED's behavior (authored by asomers).
namei: add more detail about LOCKSHARED's behavior
Jan 20 2025, 4:37 PM
asomers committed rGb797d07560a7: fusefs: FUSE_NOTIFY_INVAL_* must busy the mountpoint (authored by asomers).
fusefs: FUSE_NOTIFY_INVAL_* must busy the mountpoint
Jan 20 2025, 4:36 PM
asomers committed rG23b270405951: Make the CTL tests more resilient (authored by asomers).
Make the CTL tests more resilient
Jan 20 2025, 4:24 PM
asomers committed rG6203d08e7a3a: ktls.4: note that security/gnutls now supports ktls (authored by asomers).
ktls.4: note that security/gnutls now supports ktls
Jan 20 2025, 4:23 PM
asomers committed rG4ea15740a873: tmpfs: remove duplicate flags check in tmpfs_rmdir (authored by mscotty_protonmail.ch).
tmpfs: remove duplicate flags check in tmpfs_rmdir
Jan 20 2025, 4:21 PM

Jan 17 2025

asomers committed rGf26fe2c6669d: ctld: correctly parse LUN size on 32-bit arches (authored by asomers).
ctld: correctly parse LUN size on 32-bit arches
Jan 17 2025, 9:44 PM
asomers accepted D47689: libc: Fix getentropy POSIX 2024 conformance issues.
Jan 17 2025, 6:11 PM

Jan 15 2025

asomers committed rG52f7eb31ae84: fusefs: fix the 32-bit build after 564c732b5c0 (authored by asomers).
fusefs: fix the 32-bit build after 564c732b5c0
Jan 15 2025, 11:34 PM
asomers requested review of D48473: fusefs: add some tests that invoke nfsd.
Jan 15 2025, 10:24 PM
asomers committed rG564c732b5c02: fusefs: slightly better debugging in the tests (authored by asomers).
fusefs: slightly better debugging in the tests
Jan 15 2025, 8:39 PM
asomers committed rG9f31c4746041: fusefs: add a test for the max_read= mount option (authored by asomers).
fusefs: add a test for the max_read= mount option
Jan 15 2025, 8:32 PM
asomers updated the diff for D48471: fusefs: add more tests for buggy FUSE servers.
  • Cleanup trailing whitespace
Jan 15 2025, 8:24 PM
asomers requested review of D48471: fusefs: add more tests for buggy FUSE servers.
Jan 15 2025, 8:22 PM

Jan 14 2025

asomers added a comment to D48452: stat(2): add st_filerev.

Out of curiosity, what's the need behind exposing this info? FYI, it seems va_filerev has been correct on UFS, ZFS and p9fs only, and filesystems using init_va_filerev() seem to set it to a dubious value.

Jan 14 2025, 7:01 PM
asomers accepted D48452: stat(2): add st_filerev.

Since st_filerev provides similar information to st_gen, should it also be guarded by PRIV_VFS_GENERATION in vop_stat_helper_post? And does it warrant mention in stat.2 ?

I do not know why st_gen is considered privileged information, but it might have
been that knowing it is useful when trying to fake a file handle?
st__filerev is not useful that way. It is really about the same as mtime and ctime, I think?

Jan 14 2025, 2:28 AM
asomers accepted D48436: Add VFCF_FILEREVINC to indicate a file system increments va_filerev by one.
Jan 14 2025, 12:34 AM
asomers added a comment to D48452: stat(2): add st_filerev.

Since st_filerev provides similar information to st_gen, should it also be guarded by PRIV_VFS_GENERATION in vop_stat_helper_post? And does it warrant mention in stat.2 ?

Jan 14 2025, 12:29 AM

Jan 13 2025

asomers added a comment to D48436: Add VFCF_FILEREVINC to indicate a file system increments va_filerev by one.

fusefs currently doesn't set va_filerev at all. I can fix that. But with fuse, ctime updates can come from either the kernel or the server. So the easiest solution would probably be to make va_filerev be a function of ctime. Would that work with the Linux client, assuming we set NFS4_CHANGE_TYPE_IS_TIME_METADATA ?

Jan 13 2025, 12:18 AM

Jan 9 2025

asomers accepted D48328: aio_kqueue_test: Fix CID 1558429.

This LGTM. Too bad Coverity can't figure it out for itself.

Jan 9 2025, 1:49 PM

Jan 6 2025

asomers committed rGf415b2ef30f7: fusefs: Coverity cleanup in the lseek tests (authored by asomers).
fusefs: Coverity cleanup in the lseek tests
Jan 6 2025, 7:31 PM
asomers committed rGc2153a533ffb: fusefs: minor cleanup in the tests (authored by asomers).
fusefs: minor cleanup in the tests
Jan 6 2025, 5:26 PM
asomers accepted D48328: aio_kqueue_test: Fix CID 1558429.

I think this is OK. But it would also be fine just to put an assert(j < max_queue_per_proc before the array dereference.

Jan 6 2025, 1:59 PM

Jan 3 2025

asomers accepted D48205: libc/xdr: remove bogus lseek(2) for xdr streams.

libtirpc did something similar: https://github.com/alisw/libtirpc/commit/1e786fc401ff625fdcec3e0bdc495125feb0a070 . NetBSD and OpenBSD still contain the lseek.

Jan 3 2025, 8:08 PM

Jan 1 2025

asomers committed rGd11904b35021: Fix lib/libc/nss/getgr_test with large numbers of groups (authored by asomers).
Fix lib/libc/nss/getgr_test with large numbers of groups
Jan 1 2025, 8:25 PM
asomers closed D48275: Fix lib/libc/nss/getgr_test with large numbers of groups.
Jan 1 2025, 8:25 PM

Dec 31 2024

asomers updated subscribers of D48275: Fix lib/libc/nss/getgr_test with large numbers of groups.
Dec 31 2024, 9:01 PM
asomers requested review of D48275: Fix lib/libc/nss/getgr_test with large numbers of groups.
Dec 31 2024, 9:01 PM
asomers added a comment to D48264: lang/rust: Add freestanding targets for FreeBSD tier 1 archs.

Does this option cause the port to build both the aarch64 and x86_64 freestanding targets, regardless of the host architecture? Why not build freestanding targets only for the host arch?

Dec 31 2024, 2:55 PM

Dec 27 2024

asomers added a comment to D48198: fusefs: better test coverage for NFS-exported fuse file systems.

Exports, mountd and nfsd can be done in a vnet jail, if that would help?

Dec 27 2024, 3:17 AM
asomers added a comment to D48198: fusefs: better test coverage for NFS-exported fuse file systems.

I'm not sure I would have called the nfsd "odd". It is one of two
consumers of the VFS/VOP interface (I suppose you might call
the stacked file systems consumers as well?).

Being one of the two, it is definitely different than the local syscall
interface.

But, anyhow, it is definitely different than the local syscall interface
and not just not using VOP_OPEN/VOP_CLOSE. It uses VOP_LOOKUP,
but in a different way than the local syscalls, particularly w.r.t. name caching,
as another example.

Dec 27 2024, 12:15 AM

Dec 25 2024

asomers requested review of D48198: fusefs: better test coverage for NFS-exported fuse file systems.
Dec 25 2024, 12:52 AM
asomers added a comment to D48198: fusefs: better test coverage for NFS-exported fuse file systems.

@rmacklem do you think this does a decent job of approximating the peculiarities of nfsd?

Dec 25 2024, 12:52 AM

Dec 24 2024

asomers accepted D48196: tee: minor cleanup.
Dec 24 2024, 10:12 PM
asomers committed rG3f83f32d7d07: fusefs: minor refactor in the tests (authored by asomers).
fusefs: minor refactor in the tests
Dec 24 2024, 9:56 PM
asomers committed R11:fff0adf0ea22: filesystems/py-libzfs: Fix support for 14.0+ (authored by meka_tilda.center).
filesystems/py-libzfs: Fix support for 14.0+
Dec 24 2024, 6:15 PM

Dec 23 2024

asomers committed rG969d1aa4dbfc: fusefs: fix a memory leak (authored by asomers).
fusefs: fix a memory leak
Dec 23 2024, 8:44 PM

Dec 20 2024

asomers requested review of D48165: fusefs: fix a panic in vop_close with a CTL consumer.
Dec 20 2024, 6:37 PM
asomers committed rGf0f596bd955e: fusefs: ignore FUSE_NO_OPEN(DIR)_SUPPORT flags (authored by CismonX <admin@cismon.net>).
fusefs: ignore FUSE_NO_OPEN(DIR)_SUPPORT flags
Dec 20 2024, 12:11 AM

Dec 18 2024

asomers committed rG53f73aaffdda: fusefs: delete a comment in the tests (authored by asomers).
fusefs: delete a comment in the tests
Dec 18 2024, 6:25 PM
asomers committed rGb18799757947: fusefs: More accurately test the unique tokens in the test suite (authored by asomers).
fusefs: More accurately test the unique tokens in the test suite
Dec 18 2024, 4:22 PM

Dec 17 2024

asomers closed D48125: namei: add more detail about LOCKSHARED's behavior.
Dec 17 2024, 9:06 PM
asomers committed rG22bb70a6b3bb: namei: add more detail about LOCKSHARED's behavior (authored by asomers).
namei: add more detail about LOCKSHARED's behavior
Dec 17 2024, 9:06 PM
asomers requested review of D48125: namei: add more detail about LOCKSHARED's behavior.
Dec 17 2024, 8:12 PM