Page MenuHomeFreeBSD

asomers (Alan Somers)
User

Projects

User Details

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

Recent Activity

Sat, Jun 28

asomers added a comment to D51081: skip ctladm test if not installed.

This is ok. It should normally be unnecessary, though, because ctladm should always be installed. Are you using pkgbase or something? I guess it might be optional in a pkgbase world.

Yes, indeed, it should now always be installed. However, we have a custom world (WITHOUT_ISCSI) and kernel (no device ctl), and since ctladm is no longer gated behind WITHOUT_ISCSI (commit 08419bf19469), this is the cleanest way I’ve found to fix this specific use case.

Sat, Jun 28, 7:37 PM
asomers accepted D51081: skip ctladm test if not installed.

This is ok. It should normally be unnecessary, though, because ctladm should always be installed. Are you using pkgbase or something? I guess it might be optional in a pkgbase world.

Sat, Jun 28, 3:42 PM

Fri, Jun 27

asomers added a comment to D50826: fusefs: change how poll() on /dev/fuse works on unmount.

LGTM, but you're still ORing POLLHUP into revents, not setting it. As I mentioned in comment, it seems that the FreeBSD way to report EOF is to return POLLHUP only.

Fri, Jun 27, 6:52 PM
asomers committed rG0726c6574f88: sockstat: Add automatic column sizing and remove -w option (authored by Damin Rido <rido@FreeBSD.com>).
sockstat: Add automatic column sizing and remove -w option
Fri, Jun 27, 4:03 PM
asomers committed rG2c6e4aed07b2: Fix typos in the CI configuration (authored by kalinasp <kalinasp@gmail.com>).
Fix typos in the CI configuration
Fri, Jun 27, 3:21 PM

Thu, Jun 26

asomers committed rGb5962a183756: Fix location of libtpool.so.2 after 5c1ba994a8b (authored by asomers).
Fix location of libtpool.so.2 after 5c1ba994a8b
Thu, Jun 26, 2:13 PM

Mon, Jun 16

asomers added a comment to D50831: fusefs: First take on exterrorizing.
In D50831#1161443, @kib wrote:

We did not finished with stabilizing the kernel interface yet, and not much started looking at the proper userspace facilities. It might end up built-in into err()/warn() so uexterr_gettext() would be left as some internal function. I simply did not considered that we are there yet.

For the exterrctl(2), the man page would be eventually added, but with the warning similar to that for thr*(2) and sigfastblock(2) that the interface is for C runtime and should not be used by the app code.

Mon, Jun 16, 6:51 PM
asomers added a comment to D50831: fusefs: First take on exterrorizing.

What man page? The information on how to read exterrors is located in kdumps manpage.

Mon, Jun 16, 6:32 PM
asomers accepted D50831: fusefs: First take on exterrorizing.

This change is ok with me. But I would still like to see a man page and some usage examples from userland.

Mon, Jun 16, 6:20 PM
asomers added inline comments to D50831: fusefs: First take on exterrorizing.
Mon, Jun 16, 5:57 PM
asomers requested changes to D50831: fusefs: First take on exterrorizing.
Mon, Jun 16, 4:49 PM

Sun, Jun 15

asomers committed rG5c1ba994a8bc: Add a regression test for a libtpool bug (authored by asomers).
Add a regression test for a libtpool bug
Sun, Jun 15, 4:03 PM
asomers closed D45587: Add a regression test for a libtpool bug.
Sun, Jun 15, 4:02 PM
asomers committed rGece617cda6b5: ctl: add ATF tests for SCSI PERSISTENT RESERVE IN/OUT (authored by asomers).
ctl: add ATF tests for SCSI PERSISTENT RESERVE IN/OUT
Sun, Jun 15, 3:57 PM
asomers closed D46947: ctl: add ATF tests for SCSI PERSISTENT RESERVE IN/OUT.
Sun, Jun 15, 3:56 PM
asomers committed rG9350e9236242: fusefs: fix a panic in vop_close with a CTL consumer (authored by asomers).
fusefs: fix a panic in vop_close with a CTL consumer
Sun, Jun 15, 3:36 PM
asomers closed D48165: fusefs: fix a panic in vop_close with a CTL consumer.
Sun, Jun 15, 3:36 PM

Fri, Jun 13

asomers committed rGf1ec3bc06ed2: fusefs: add more checks for buggy FUSE servers (authored by asomers).
fusefs: add more checks for buggy FUSE servers
Fri, Jun 13, 9:00 PM
asomers closed D48471: fusefs: add more tests for buggy FUSE servers.
Fri, Jun 13, 9:00 PM
asomers committed rGb3168306a13b: fstat: identify kqueue, mqueue, and procdesc file descriptors (authored by asomers).
fstat: identify kqueue, mqueue, and procdesc file descriptors
Fri, Jun 13, 8:34 PM
asomers closed D48706: fstat: identify kqueue and mqueue file descriptors.
Fri, Jun 13, 8:34 PM
asomers added inline comments to D50831: fusefs: First take on exterrorizing.
Fri, Jun 13, 6:12 PM
asomers requested changes to D50831: fusefs: First take on exterrorizing.

This is an interesting new feature. But how do we use it? There aren't any examples yet, or any man page. We could easily add test cases for the mount and kqueue errors to the fusefs test suite.

Fri, Jun 13, 3:55 PM
asomers updated the diff for D50826: fusefs: change how poll() on /dev/fuse works on unmount.
  • fixup: output POLLHUP regardless of the contents of events
Fri, Jun 13, 3:13 PM
asomers added inline comments to D50826: fusefs: change how poll() on /dev/fuse works on unmount.
Fri, Jun 13, 2:49 PM

Thu, Jun 12

asomers committed rGcc9c21308679: fusefs: Fix a panic when unmounting before init (authored by asomers).
fusefs: Fix a panic when unmounting before init
Thu, Jun 12, 11:06 PM
asomers closed D50799: fusefs: Fix a panic when unmounting before init.
Thu, Jun 12, 11:06 PM
asomers added a comment to D50799: fusefs: Fix a panic when unmounting before init.

LGTM, but my review doesn't worth much.

Thu, Jun 12, 10:30 PM
asomers requested review of D50826: fusefs: change how poll() on /dev/fuse works on unmount.
Thu, Jun 12, 10:28 PM
asomers updated the diff for D50799: fusefs: Fix a panic when unmounting before init.
  • Respond to gleb's comments
Thu, Jun 12, 3:51 PM
asomers added inline comments to D50799: fusefs: Fix a panic when unmounting before init.
Thu, Jun 12, 3:51 PM

Wed, Jun 11

asomers requested review of D50800: fusefs: don't fake the mountpoint's stat info before FUSE_INIT completes.
Wed, Jun 11, 9:41 PM
asomers requested review of D50799: fusefs: Fix a panic when unmounting before init.
Wed, Jun 11, 8:33 PM

Thu, Jun 5

asomers committed rG7ce93195ddb3: fusefs: delete dead code (authored by asomers).
fusefs: delete dead code
Thu, Jun 5, 9:30 PM
asomers committed rG35c4ea02cb9f: fusefs: revert a workaround for a googletest bug (authored by asomers).
fusefs: revert a workaround for a googletest bug
Thu, Jun 5, 9:30 PM

May 30 2025

asomers committed rG7f07575084a2: fusefs: correct a comment in the tests (authored by asomers).
fusefs: correct a comment in the tests
May 30 2025, 4:56 PM

May 19 2025

asomers committed R11:7d1f330dd79b: devel/fsx: 0.3.0 (authored by asomers).
devel/fsx: 0.3.0
May 19 2025, 10:38 PM

May 16 2025

asomers committed R11:936afc0f085e: shells/fish: 4.0.2 (authored by asomers).
shells/fish: 4.0.2
May 16 2025, 8:32 PM

May 2 2025

asomers accepted D50118: aio: Fix opcode handling in aio_process_rw().
May 2 2025, 4:57 PM
asomers committed rG01a1dd321807: Fix the zfsd_fault_001_pos test (authored by asomers).
Fix the zfsd_fault_001_pos test
May 2 2025, 2:52 PM

Apr 29 2025

asomers committed rGd5e3cf41e894: fusefs: Upgrade FUSE protocol to version 7.33. (authored by mscotty_protonmail.ch).
fusefs: Upgrade FUSE protocol to version 7.33.
Apr 29 2025, 11:27 PM

Apr 17 2025

asomers committed rG2a88aad6286d: 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
Apr 17 2025, 11:40 PM
asomers committed rGf8b102d9bb63: ctld: correctly parse LUN size on 32-bit arches (authored by asomers).
ctld: correctly parse LUN size on 32-bit arches
Apr 17 2025, 11:40 PM
asomers committed rGf390c8149847: fusefs: slightly better debugging in the tests (authored by asomers).
fusefs: slightly better debugging in the tests
Apr 17 2025, 11:38 PM
asomers committed rG1c316af14149: fusefs: add a test for the max_read= mount option (authored by asomers).
fusefs: add a test for the max_read= mount option
Apr 17 2025, 11:38 PM
asomers committed rGd03aa29b82b8: fusefs: minor refactor in the tests (authored by asomers).
fusefs: minor refactor in the tests
Apr 17 2025, 11:38 PM

Apr 12 2025

asomers accepted D49787: bsd.sys.mk: Re-enable warnings for C++11 extensions.
Apr 12 2025, 8:25 PM

Mar 27 2025

asomers accepted D49541: Remove mentions of ENOSYS added in d97e44784bb5.
Mar 27 2025, 7:56 PM

Mar 18 2025

asomers accepted D49139: ctld: Convert to C++.
A redeclaration of an entity without a linkage specification inherits the language linkage of the entity and its type (if exists).
Mar 18 2025, 6:23 PM
asomers accepted D49137: libiscsiutil: Fix header to work with C++.
Mar 18 2025, 12:28 AM

Mar 15 2025

asomers accepted D49140: depend-cleanup: Handle ctld moving from C to C++.
Mar 15 2025, 7:55 PM
asomers added a comment to D49139: ctld: Convert to C++.

A few functions, like conf_set_debug, will now be extern "C" in the header file, but not in their implementation. It might work, but I don't think it's right. Also, conf.c seems to have two purposes. It defines C functions used by parse.y, and it also defines C functions used by ctld.cc. Maybe we should leave conf.c as a C file, but move some its ctld functions into ctld.cc itself? OTOH, if you're going for "minimal set of changes necessary to build as C++, it would be easier just to move those prototypes out of the "extern C" section.

Mar 15 2025, 7:49 PM
asomers accepted D49138: ctl_ioctl.h: Do not abuse enums for bit fields of flags.
Mar 15 2025, 7:35 PM

Mar 5 2025

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
Mar 5 2025, 6:53 PM

Mar 3 2025

asomers accepted D49223: src: Use gnu++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.

Mar 3 2025, 9:54 PM

Feb 27 2025

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"
Feb 27 2025, 9:15 PM

Feb 24 2025

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

Feb 17 2025

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"

Feb 17 2025, 11:26 PM

Feb 14 2025

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.

Feb 14 2025, 6:49 PM

Feb 11 2025

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

Ahh, sorry for the noise.

Feb 11 2025, 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?

Feb 11 2025, 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.

Feb 11 2025, 6:24 PM
asomers requested changes to D48931: ctld: Fail for missing or invalid CHAP secrets in UCL config.
Feb 11 2025, 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.

Feb 11 2025, 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 ?

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

Thanks for doing all this cleanup.

Feb 11 2025, 6:18 PM
asomers accepted D48927: ctld: Drop some #if 0'd debugging traces.
Feb 11 2025, 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