Page MenuHomeFreeBSD

ken (Ken Merry)
User

Projects (2)

User Details

User Since
Jan 23 2015, 10:35 PM (616 w, 2 d)

Recent Activity

Wed, Nov 11

ken committed rG88c5709e91ad: pass(4): Don't drop the periph lock before selrecord() in passpoll().
Wed, Nov 11, 2:26 PM
ken closed D61416: pass(4): Wake select/kqueue waiters when an immediate CCB completes.
Wed, Nov 11, 1:59 PM
ken committed rG6442a92a7d9c: pass(4): Wake select/kqueue waiters when an immediate CCB completes.
Wed, Nov 11, 1:59 PM

Tue, Nov 10

ken requested review of D61416: pass(4): Wake select/kqueue waiters when an immediate CCB completes.
Tue, Nov 10, 11:01 PM
ken committed rG3d6f886151f9: nvmecontrol: Range-check the format command's field values.
Tue, Nov 10, 9:23 PM
ken closed D61406: nvmecontrol: Range-check the format command's field values.
Tue, Nov 10, 9:23 PM
ken requested review of D61406: nvmecontrol: Range-check the format command's field values.
Tue, Nov 10, 9:12 PM
ken committed rGeae727676169: nvmecontrol: Mask the fields in the Format NVM command.
Tue, Nov 10, 8:05 PM
ken closed D61356: nvmecontrol: Mask the fields in the Format NVM command.
Tue, Nov 10, 8:05 PM
ken updated the diff for D61356: nvmecontrol: Mask the fields in the Format NVM command.

Switch the attribution trailer from Co-authored-by to Assisted-by, per imp.

Tue, Nov 10, 3:26 PM

Mon, Nov 9

ken requested review of D61356: nvmecontrol: Mask the fields in the Format NVM command.
Mon, Nov 9, 7:37 PM
ken committed rGf7c24ef1e9a4: camcontrol: Don't close the CAM device in nvme_get_data().
Mon, Nov 9, 7:14 PM
ken committed rG2dd34affca4d: camcontrol: Fix extended host identifier retrieval.
Mon, Nov 9, 7:14 PM
ken committed rGb95e2b2ce907: camcontrol: Require a reservation type for reserve, preempt and release.
Mon, Nov 9, 7:14 PM
ken committed rGef69484b4295: camcontrol: Fix swapped protection information defaults in nvformat.
Mon, Nov 9, 7:14 PM
ken committed rGf262bdcf24f1: nvme: Restore the host memory buffer size calculation.
Mon, Nov 9, 7:14 PM
ken committed rG86b9d629c68f: nvme: Fix the data length in the Reservation Report command builder.
Mon, Nov 9, 7:14 PM
ken committed rG3892a6453fc6: nvme: Mask the fields in the Format NVM command builder.
Mon, Nov 9, 7:14 PM
ken committed rG3a6dbe77c39d: nvme: Byte-swap the nsid in the Get/Set Features command builders.
Mon, Nov 9, 7:14 PM

Sat, Nov 7

ken committed rG68ba58a064d1: camcontrol: Fix -Wcast-align errors in the NVMe reservation report.
Sat, Nov 7, 3:36 AM
ken added a comment to D61277: camdd: Fix the worker startup race.

Thank you for the fix! Committed to head.

Sat, Nov 7, 1:21 AM
ken closed D61277: camdd: Fix the worker startup race.
Sat, Nov 7, 1:20 AM
ken committed rGc17aa0984de8: camdd: Fix the worker startup race (authored by hayzam_gmail.com).
Sat, Nov 7, 1:20 AM
ken accepted D61277: camdd: Fix the worker startup race.
Sat, Nov 7, 1:18 AM
ken closed D59536: camcontrol: Add a feature subcommand for NVMe Get/Set Features.
Sat, Nov 7, 1:07 AM
ken committed rG6eae951cd51b: camcontrol: Add a feature subcommand for NVMe Get/Set Features.
Sat, Nov 7, 1:07 AM
ken closed D59535: camcontrol: Support NVMe namespace formatting via the format subcommand.
Sat, Nov 7, 1:07 AM
ken committed rG80f090111ae4: camcontrol: Support NVMe namespace formatting via the format subcommand.
Sat, Nov 7, 1:07 AM
ken committed rGba75cf05727e: camcontrol: Support NVMe reservations via the persist subcommand.
Sat, Nov 7, 1:07 AM
ken closed D59534: camcontrol: Support NVMe reservations via the persist subcommand.
Sat, Nov 7, 1:07 AM
ken closed D59533: camcontrol: Add support for NVMe namespace Identify.
Sat, Nov 7, 1:07 AM
ken committed rG961fa195b348: camcontrol: Add support for NVMe namespace Identify.
Sat, Nov 7, 1:07 AM
ken committed rG9814633f631b: cam: Add NVMe reservation, format and features CCB building functions.
Sat, Nov 7, 1:07 AM
ken closed D59532: cam: Add NVMe reservation, format and features CCB building functions.
Sat, Nov 7, 1:07 AM
ken committed rG7a9e4375316b: nvme: Add reservation, format and features command building support.
Sat, Nov 7, 1:06 AM
ken closed D59531: nvme: Add reservation, format and features command building support.
Sat, Nov 7, 1:06 AM
ken committed rG46198fba6dff: nvmecontrol: Factor out namespace Identify printing.
Sat, Nov 7, 1:06 AM
ken closed D59530: nvmecontrol: Factor out namespace Identify printing.
Sat, Nov 7, 1:06 AM

Wed, Oct 21

ken added a comment to D59533: camcontrol: Add support for NVMe namespace Identify.

This is now the only revision in the series without an accept -- anything still open here? The man page question above was answered with the D15371 precedent (the controller identify already works this way), and the wording changes are in the current diff.

Wed, Oct 21, 9:28 PM

Tue, Oct 20

ken updated the diff for D59531: nvme: Add reservation, format and features command building support.

Rebase on current head: re-anchor the nvme.h additions around the new Timestamp feature definitions (e8a7efd9), and update the new Timestamp set_feature call for the widened nvme_ctrlr_cmd_set_feature() signature. No content changes to the additions themselves.

Tue, Oct 20, 9:14 PM

Oct 15 2026

ken updated the summary of D60366: pci: stop the capability walk spinning on an unreachable device.
Oct 15 2026, 8:41 PM
ken added a comment to D60366: pci: stop the capability walk spinning on an unreachable device.

(Fixing text dropped from the previous comment: the timed command was time sysctl -a > /dev/null.)

Oct 15 2026, 8:39 PM
ken added a comment to D60366: pci: stop the capability walk spinning on an unreachable device.

The fix has now been verified on the hardware that originally hit this. On a patched kernel, an NVMe boot-mirror member was force-detached (devctl disable -f on the nvme device), leaving the dead PCI function behind, and completed in 0.068 seconds. On an unpatched kernel the same state spins pci_find_cap_method() for tens of minutes via the dev.nvme.N.%iommu sysctl, with the stack shown in the summary.

Oct 15 2026, 8:38 PM
ken updated the diff for D60366: pci: stop the capability walk spinning on an unreachable device.

Trim the comments per review feedback: drop the explanation of all-ones config reads.

Oct 15 2026, 8:30 PM

Oct 6 2026

ken added a comment to D60414: nvme: Add ZNS support (WIP).

The nvd(4) change here is the opposite of expanding it -- it just makes nvd decline to attach to zoned namespaces, so zoned support is nda(4)-only. So this already matches what you are suggesting, and it answers one of the doubts voidanix flagged in the WIP note.

Oct 6 2026, 6:28 PM
ken added reviewers for D60414: nvme: Add ZNS support (WIP): asomers, fuz.
Oct 6 2026, 5:51 PM
ken requested review of D60414: nvme: Add ZNS support (WIP).
Oct 6 2026, 5:50 PM

Oct 5 2026

ken requested review of D60366: pci: stop the capability walk spinning on an unreachable device.
Oct 5 2026, 2:49 PM

Sep 29 2026

ken updated the diff for D59535: camcontrol: Support NVMe namespace formatting via the format subcommand.

Use the new nvme_ns_data_format_index() from D59627 to determine the current LBA format instead of open-coding the FLBAS extraction, so drives with more than 16 LBA formats get the right default.

Sep 29 2026, 9:11 PM
ken updated the diff for D59531: nvme: Add reservation, format and features command building support.

Rebase on current head: re-anchor the nvme.h additions around the new nvme_ns_data_format_index() helper from D59627. No content changes to the additions themselves.

Sep 29 2026, 9:11 PM
ken updated the diff for D59530: nvmecontrol: Factor out namespace Identify printing.

Rebase on current head. The moved nvme_print_namespace() now carries the FLBAS Format Index Upper fix from D59627 (2c41f7d8), which landed inside print_namespace() after this review was created.

Sep 29 2026, 9:11 PM
ken updated the diff for D59536: camcontrol: Add a feature subcommand for NVMe Get/Set Features.

Rework per the naming discussion: rename the subcommand from nvfeature to feature. SCSI has no feature command and the ATA SET FEATURES subcommands already have dedicated camcontrol subcommands (apm, aam, epc), so the name is unclaimed; the subcommand errors cleanly on non-NVMe devices. Also fix a being/bing typo in the man page.

Sep 29 2026, 6:49 PM
ken updated the diff for D59535: camcontrol: Support NVMe namespace formatting via the format subcommand.

Rework per the naming discussion: fold NVMe format support into the existing format subcommand (protocol dispatch like identify/persist) and retire nvformat. The NVMe path gains the same are-you-sure confirmation the SCSI path has (-q/-y honored); -r is rejected for NVMe and -w is a no-op since the NVMe format command does not return until the format completes. Tested on hardware: confirmation prompt and abort verified, no formats actually issued.

Sep 29 2026, 6:49 PM

Sep 28 2026

ken updated the diff for D59536: camcontrol: Add a feature subcommand for NVMe Get/Set Features.

Address review feedback: error out instead of crashing when -a or -f is missing, and zero the hostid set buffer and only transfer 8 bytes for the non-extended host identifier.

Sep 28 2026, 7:34 PM
ken updated the diff for D59535: camcontrol: Support NVMe namespace formatting via the format subcommand.

Fix the crypto secure-erase setting to actually map to NVME_FORMAT_SES_CRYPTO (it wrongly mapped to a user data erase), and make the default timeout depend on the erase type: 30 seconds for crypto erase, 30 minutes otherwise. -T still overrides.

Sep 28 2026, 7:34 PM
ken updated the diff for D59534: camcontrol: Support NVMe reservations via the persist subcommand.

Constrain the number of reservation report entries printed to what fits in the data buffer, per review feedback.

Sep 28 2026, 7:34 PM
ken updated the diff for D59531: nvme: Add reservation, format and features command building support.

Fix the entry count clamp in the reservation status swapbytes functions: sizeof(s) is the pointer size, which made the clamp one entry too permissive (the same out-of-bounds class flagged on D59534).

Sep 28 2026, 7:34 PM

Sep 21 2026

ken updated the diff for D59536: camcontrol: Add a feature subcommand for NVMe Get/Set Features.

Rebase on the persist rework in D59534 (the nvres subcommand is gone; no changes to nvfeature itself).

Sep 21 2026, 9:32 PM
ken updated the diff for D59535: camcontrol: Support NVMe namespace formatting via the format subcommand.

Rebase on the persist rework in D59534 (the nvres subcommand is gone; no changes to nvformat itself).

Sep 21 2026, 9:32 PM
ken updated the diff for D59534: camcontrol: Support NVMe reservations via the persist subcommand.

Rework per review feedback: fold NVMe reservation support into the existing persist subcommand instead of adding an nvres subcommand. persist dispatches on device protocol like identify. SCSI syntax unchanged; NVMe uses the same -i/-o/-k/-K/-T vocabulary, with NVMe-only unregister/replace actions and a new -c option for Persist Through Power Loss State. Tested on reservation-capable hardware (PASCARI X200); details in the summary.

Sep 21 2026, 9:32 PM
ken added a comment to D59534: camcontrol: Support NVMe reservations via the persist subcommand.
In D59534#1366238, @imp wrote:

I'd have also broken this up by subcommand because all together the review length is starting to get hard to review.
And it's unclear what the actual syntax here is too. It's a case where the old-school camcontrol commands are getting in the way of having commands that are more similar to linux's nvme cli. Translating between what we do and what they do is a lot of friction for no benefit.

Sep 21 2026, 9:28 PM
ken updated the diff for D59533: camcontrol: Add support for NVMe namespace Identify.

Address review feedback: drop the Namespace Management sentence from the man page, and reword the -N usage text to: send identify to the NVMe namespace.

Sep 21 2026, 6:09 PM
ken added inline comments to D59533: camcontrol: Add support for NVMe namespace Identify.
Sep 21 2026, 6:03 PM

Sep 9 2026

ken updated the diff for D59532: cam: Add NVMe reservation, format and features CCB building functions.

Address review feedback: drop the redundant sys/cdefs.h include (nvme.h pulls in sys/param.h), and annotate the arguments on all calls in the new functions so the comment style is consistent throughout. Also fix two annotation typos (dxfrer_len, and cdw10 on a cdw11 argument) in the hostid wrappers.

Sep 9 2026, 8:59 PM
ken added inline comments to D59532: cam: Add NVMe reservation, format and features CCB building functions.
Sep 9 2026, 8:52 PM
ken added a comment to D59531: nvme: Add reservation, format and features command building support.

The rest of this series is already one commit per camcontrol
subcommand (D59533 through D59536); this revision is the shared nvme.h
definitions they build on. I can split it further (reservations / format /
features) if you'd like.

Sep 9 2026, 8:43 PM
ken updated the diff for D59536: camcontrol: Add a feature subcommand for NVMe Get/Set Features.

Adapt to the wire-byte-order hostid convention from D59531: drop the pre-print byte swapping (which also fixes a bug where the 8-byte hostid was truncated through a uint8_t on big-endian), decode the UUID display with uuid_dec_be() to match the uuid_enc_be() used on set, and use le64enc() to build the 8-byte set payload.

Sep 9 2026, 8:31 PM
ken updated the diff for D59531: nvme: Add reservation, format and features command building support.

Keep the hostid in the little-endian byte order the device returns it in, per review feedback: no more byte swapping in the resv status swapbytes functions or ifdefs in nvme_hostid_sbuf(). exhid is now bool. Drop the nvme_le128tobe()/nvme_le128toh() split, no longer needed. Update nvmecontrol resv print for the wire-order hostid fields (also fixes zero padding and inconsistent LE/BE output).

Sep 9 2026, 8:31 PM
ken accepted D59540: camcontrol: remove unused variable.
Sep 9 2026, 6:21 PM
ken updated the summary of D59536: camcontrol: Add a feature subcommand for NVMe Get/Set Features.
Sep 9 2026, 3:41 PM
ken updated the summary of D59535: camcontrol: Support NVMe namespace formatting via the format subcommand.
Sep 9 2026, 3:41 PM
ken updated the summary of D59534: camcontrol: Support NVMe reservations via the persist subcommand.
Sep 9 2026, 3:41 PM
ken updated the summary of D59533: camcontrol: Add support for NVMe namespace Identify.
Sep 9 2026, 3:41 PM
ken updated the summary of D59532: cam: Add NVMe reservation, format and features CCB building functions.
Sep 9 2026, 3:41 PM
ken updated the summary of D59531: nvme: Add reservation, format and features command building support.
Sep 9 2026, 3:41 PM
ken updated the summary of D59530: nvmecontrol: Factor out namespace Identify printing.
Sep 9 2026, 3:40 PM
ken updated the diff for D59536: camcontrol: Add a feature subcommand for NVMe Get/Set Features.

Fix spelling of the changeable capability name

Sep 9 2026, 3:36 PM
ken requested review of D59536: camcontrol: Add a feature subcommand for NVMe Get/Set Features.
Sep 9 2026, 3:35 PM
ken requested review of D59535: camcontrol: Support NVMe namespace formatting via the format subcommand.
Sep 9 2026, 3:35 PM
ken requested review of D59534: camcontrol: Support NVMe reservations via the persist subcommand.
Sep 9 2026, 3:34 PM
ken requested review of D59533: camcontrol: Add support for NVMe namespace Identify.
Sep 9 2026, 3:34 PM
ken requested review of D59532: cam: Add NVMe reservation, format and features CCB building functions.
Sep 9 2026, 3:34 PM
ken requested review of D59531: nvme: Add reservation, format and features command building support.
Sep 9 2026, 3:34 PM
ken added a reviewer for D59530: nvmecontrol: Factor out namespace Identify printing: cam.
Sep 9 2026, 3:33 PM
ken requested review of D59530: nvmecontrol: Factor out namespace Identify printing.
Sep 9 2026, 3:29 PM

Aug 3 2026

ken accepted D58622: ctl.4: Document the assumption that CTL HA runs only on trusted networks.

Looks good to me.

Aug 3 2026, 5:50 PM

Mar 11 2026

ken committed rG5f55c59cbab5: mt(1)/libmt: Add LTO-10 density codes and specs..
Mar 11 2026, 6:38 PM
ken committed rG7fe98ee4d49a: mt(1)/libmt: Add LTO-10 density codes and specs..
Mar 11 2026, 6:38 PM

Mar 2 2026

ken committed rG930486f9be5c: mt(1)/libmt: Add LTO-10 density codes and specs..
Mar 2 2026, 7:17 PM

Feb 14 2025

ken added a comment to D49016: cam: Update scsi_all.h to reflect 30 years of evolution.

Fine with me...but are we not actually putting the text of the license in the file anymore?

Feb 14 2025, 10:30 PM

Jan 25 2025

ken accepted D48684: cam: Fail ASC 0x40.
Jan 25 2025, 8:48 PM
ken added a comment to D48689: cam/da: Call cam_periph_invalidate on ENXIO in dadone.

The purpose of invalidating the pack in the da(4) driver is to deal with removable media. If the removable disk is pulled while the device is open, the pack is invalidated. Getting through a successful open again clears the flag.

Jan 25 2025, 8:37 PM

Jul 16 2024

ken closed D45688: Add isp(4) fwload_only loader tunable.
Jul 16 2024, 9:25 PM · cam
ken closed D45660: Fix isp(4) device probing with 9.x firmware.
Jul 16 2024, 9:25 PM · cam
ken committed rG12f7f57bc07d: Add an isp(4) tunable to default to ispfw(4) firmware..
Jul 16 2024, 8:39 PM
ken committed rG4c94657e168d: Fix the isp(4) driver with 9.x firmware..
Jul 16 2024, 8:39 PM
ken committed rG44ca5d40f367: Add an isp(4) tunable to default to ispfw(4) firmware..
Jul 16 2024, 8:09 PM
ken committed rGff9458b30fc3: Fix the isp(4) driver with 9.x firmware..
Jul 16 2024, 8:08 PM
ken committed rG4c0c82355692: isp(4): Document support for new devices (authored by Joerg.Pulz_frm2.tum.de).
Jul 16 2024, 8:02 PM

Jun 24 2024

ken committed rG31354813f3c6: Add an isp(4) tunable to default to ispfw(4) firmware..
Jun 24 2024, 8:50 PM