Page MenuHomeFreeBSD

ken (Ken Merry)
User

Projects

User Details

User Since
Jan 23 2015, 10:35 PM (610 w, 1 d)

Recent Activity

Tue, Sep 29

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.

Tue, Sep 29, 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.

Tue, Sep 29, 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.

Tue, Sep 29, 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.

Tue, Sep 29, 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.

Tue, Sep 29, 6:49 PM

Mon, Sep 28

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.

Mon, Sep 28, 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.

Mon, Sep 28, 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.

Mon, Sep 28, 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).

Mon, Sep 28, 7:34 PM

Mon, Sep 21

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).

Mon, Sep 21, 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).

Mon, Sep 21, 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.

Mon, Sep 21, 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.

Mon, Sep 21, 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.

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

Wed, Sep 9

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.

Wed, Sep 9, 8:59 PM
ken added inline comments to D59532: cam: Add NVMe reservation, format and features CCB building functions.
Wed, Sep 9, 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.

Wed, Sep 9, 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.

Wed, Sep 9, 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).

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

Wed, Sep 9, 3:36 PM
ken requested review of D59536: camcontrol: Add a feature subcommand for NVMe Get/Set Features.
Wed, Sep 9, 3:35 PM
ken requested review of D59535: camcontrol: Support NVMe namespace formatting via the format subcommand.
Wed, Sep 9, 3:35 PM
ken requested review of D59534: camcontrol: Support NVMe reservations via the persist subcommand.
Wed, Sep 9, 3:34 PM
ken requested review of D59533: camcontrol: Add support for NVMe namespace Identify.
Wed, Sep 9, 3:34 PM
ken requested review of D59532: cam: Add NVMe reservation, format and features CCB building functions.
Wed, Sep 9, 3:34 PM
ken requested review of D59531: nvme: Add reservation, format and features command building support.
Wed, Sep 9, 3:34 PM
ken added a reviewer for D59530: nvmecontrol: Factor out namespace Identify printing: cam.
Wed, Sep 9, 3:33 PM
ken requested review of D59530: nvmecontrol: Factor out namespace Identify printing.
Wed, Sep 9, 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. (authored by ken).
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. (authored by ken).
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. (authored by ken).
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. (authored by ken).
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. (authored by ken).
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. (authored by ken).
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. (authored by ken).
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).
isp(4): Document support for new devices
Jul 16 2024, 8:02 PM

Jun 24 2024

ken committed rG31354813f3c6: Add an isp(4) tunable to default to ispfw(4) firmware. (authored by ken).
Add an isp(4) tunable to default to ispfw(4) firmware.
Jun 24 2024, 8:50 PM
ken committed rG137b004e2b7a: Fix the isp(4) driver with 9.x firmware. (authored by ken).
Fix the isp(4) driver with 9.x firmware.
Jun 24 2024, 8:50 PM
ken updated the diff for D45688: Add isp(4) fwload_only loader tunable.

Change fwload_only to fwload_force.

Jun 24 2024, 7:37 PM · cam
ken added a comment to D45660: Fix isp(4) device probing with 9.x firmware.
In D45660#1042762, @mav wrote:
In D45660#1042742, @ken wrote:

So here is what the debugging log message in isp_getpdb() shows. isp0 and isp1 are connected to LTO-6 tape drives via an 8Gb switch. isp2 is directly connected to an LTO-6 in loop mode:

isp0: Chan 0 handle 0x0 Port 0xfffc01 flags 0x0 curstate 77 laststate 77
isp0: Chan 0 handle 0x1 Port 0x011b26 flags 0x40a0 curstate 46 laststate 46
isp0: Chan 0 handle 0x7fe Port 0xfffffe flags 0x0 curstate 44 laststate 44
isp0: Chan 0 handle 0x7fe Port 0xfffffe flags 0x0 curstate 44 laststate 44
isp1: Chan 0 handle 0x0 Port 0xfffc01 flags 0x0 curstate 77 laststate 77
isp1: Chan 0 handle 0x1 Port 0x011a26 flags 0x40a0 curstate 46 laststate 46
isp1: Chan 0 handle 0x7fe Port 0xfffffe flags 0x0 curstate 44 laststate 44
isp1: Chan 0 handle 0x7fe Port 0xfffffe flags 0x0 curstate 44 laststate 44
isp2: Chan 0 handle 0x0 Port 0x000026 flags 0x40a0 curstate 46 laststate 46

So it seems the upper 4 bits can actually have different values, not some "non-NVMe" constant, as I thought. I am OK with this patch if it solves the issue, but it would definitely be good to understand what it is, in case there is something important.

Jun 24 2024, 5:53 PM · cam
ken added a comment to D45688: Add isp(4) fwload_only loader tunable.
In D45688#1042676, @mav wrote:

It seems a good tunable, except I am not getting the meaning of "only" there. Why not "always", "force" or something like that?

Jun 24 2024, 5:32 PM · cam
ken added a comment to D45660: Fix isp(4) device probing with 9.x firmware.
In D45660#1042675, @mav wrote:

None of QLogic documents I have know nothing about NVMe, and this state field is declared is byte there. I have no objections for this patch, but a bit curios what NVMe status do we see there for non-NVMe devices.

Jun 24 2024, 5:08 PM · cam

Jun 21 2024

ken updated the summary of D45688: Add isp(4) fwload_only loader tunable.
Jun 21 2024, 7:52 PM · cam
ken requested review of D45688: Add isp(4) fwload_only loader tunable.
Jun 21 2024, 7:51 PM · cam
ken added a project to D45660: Fix isp(4) device probing with 9.x firmware: cam.
Jun 21 2024, 7:40 PM · cam

Jun 20 2024

ken requested review of D45660: Fix isp(4) device probing with 9.x firmware.
Jun 20 2024, 2:55 PM · cam

Apr 15 2024

ken added a comment to D44719: ctl: Support NVMe requests in debug trace functions.

Looks like the copyright text is missing.

Apr 15 2024, 3:28 PM
ken accepted D44717: ctl: Add structure and related constants for NVMe commands.
Apr 15 2024, 3:23 PM
ken accepted D44722: ctl_backend_ramdisk: Add support for NVMe.
Apr 15 2024, 3:20 PM
ken accepted D44713: cam: Add a XPORT_NVMF for NVMe over Fabrics sims.
Apr 15 2024, 3:14 PM
ken accepted D44720: ctl: Support for NVMe commands.

Looks good, thank you for doing this! I'm glad to finally see CTL NVMe support going in.

Apr 15 2024, 3:11 PM

Jan 3 2024

ken committed rG789a2b4e5c7d: camcontrol: add support for Toshiba drive firmware update (authored by ken).
camcontrol: add support for Toshiba drive firmware update
Jan 3 2024, 3:36 PM
ken committed rGce6c84abe6c2: camcontrol: add support for Toshiba drive firmware update (authored by ken).
camcontrol: add support for Toshiba drive firmware update
Jan 3 2024, 3:34 PM
ken committed rG658a9820b0bf: camcontrol: Add a sense subcommand (authored by ken).
camcontrol: Add a sense subcommand
Jan 3 2024, 3:32 PM
ken committed rG31a363933e9a: camcontrol: Add a sense subcommand (authored by ken).
camcontrol: Add a sense subcommand
Jan 3 2024, 2:49 PM

Dec 29 2023

ken committed rGcd95f18c477c: camcontrol: add support for Toshiba drive firmware update (authored by ken).
camcontrol: add support for Toshiba drive firmware update
Dec 29 2023, 7:26 PM

Dec 28 2023

ken committed rG40a492d38ee1: camcontrol: Add a sense subcommand (authored by ken).
camcontrol: Add a sense subcommand
Dec 28 2023, 9:24 PM
ken closed D43225: Add a sense subcommand to camcontrol(8).
Dec 28 2023, 9:24 PM
ken updated the diff for D43225: Add a sense subcommand to camcontrol(8).
Dec 28 2023, 9:00 PM
ken added inline comments to D43225: Add a sense subcommand to camcontrol(8).
Dec 28 2023, 8:59 PM
ken requested review of D43225: Add a sense subcommand to camcontrol(8).
Dec 28 2023, 8:20 PM

Dec 27 2023

ken accepted D43204: sa: Make sa_param_table[] const and static.

This should be fine, thanks!

Dec 27 2023, 7:55 PM
ken accepted D43203: sa: Check for errors from copyout().

Looks fine to me, thanks!

Dec 27 2023, 7:47 PM

Dec 20 2023

ken committed rG5ffcdc96ac71: mpr, mps: Establish busdma boundaries for memory pools (authored by ken).
mpr, mps: Establish busdma boundaries for memory pools
Dec 20 2023, 3:45 PM
ken committed rG504e85ade103: mpr, mps: Establish busdma boundaries for memory pools (authored by ken).
mpr, mps: Establish busdma boundaries for memory pools
Dec 20 2023, 3:44 PM

Dec 14 2023

ken committed rG9e6e28bb8ea8: Add IBM TS1170 density codes and specs. (authored by ken).
Add IBM TS1170 density codes and specs.
Dec 14 2023, 9:02 PM
ken committed rGa9262d053b63: Add IBM TS1170 density codes and specs. (authored by ken).
Add IBM TS1170 density codes and specs.
Dec 14 2023, 9:00 PM
ken committed rG264610a86e14: mpr, mps: Establish busdma boundaries for memory pools (authored by ken).
mpr, mps: Establish busdma boundaries for memory pools
Dec 14 2023, 8:17 PM

Dec 13 2023

ken added inline comments to D43008: Establish 4GB boundaries for busdma in the mpr(4) and mps(4) driver.
Dec 13 2023, 7:21 PM
ken updated the diff for D43008: Establish 4GB boundaries for busdma in the mpr(4) and mps(4) driver.

Use BUS_SPACE_MAXSIZE_32BIT+1 to represent the 4GB boundary instead of 0x100000000.

Dec 13 2023, 7:20 PM

Dec 12 2023

ken updated the summary of D43008: Establish 4GB boundaries for busdma in the mpr(4) and mps(4) driver.
Dec 12 2023, 8:56 PM
ken updated the summary of D43008: Establish 4GB boundaries for busdma in the mpr(4) and mps(4) driver.
Dec 12 2023, 8:55 PM
ken updated the summary of D43008: Establish 4GB boundaries for busdma in the mpr(4) and mps(4) driver.
Dec 12 2023, 8:52 PM
ken requested review of D43008: Establish 4GB boundaries for busdma in the mpr(4) and mps(4) driver.
Dec 12 2023, 8:52 PM
ken committed rG70547544ce93: ocs_fc: IO timeout handling and error reporting fix. (authored by Ram Kishore Vegesna <ram@FreeBSD.org>).
ocs_fc: IO timeout handling and error reporting fix.
Dec 12 2023, 3:32 PM

Oct 31 2023

ken committed rG83823d063ab5: Add IBM TS1170 density codes and specs. (authored by ken).
Add IBM TS1170 density codes and specs.
Oct 31 2023, 7:30 PM
ken accepted D42411: cam: Make cam_debug macros atomic.

Good idea. Sbuf didn't exist back when the debug macros were written, this is an improvement.

Oct 31 2023, 1:36 PM
ken accepted D42402: cam/ata: Postpone removal of two compat sysctl until 15.

Looks good, thank you!

Oct 31 2023, 1:24 PM

Oct 30 2023

ken requested changes to D42402: cam/ata: Postpone removal of two compat sysctl until 15.

This makes it sound like unmapped I/O and rotating media support will be removed in FreeBSD 15.

Oct 30 2023, 3:25 PM

Oct 14 2023

ken accepted D42210: ctl: Use ctl_io_sbuf in ctl_process_done.
Oct 14 2023, 1:14 AM
ken accepted D42209: ctl: Make ctl_private.h more self-contained.
Oct 14 2023, 1:11 AM
ken accepted D42208: ctl: Make ctl_ha.h more self-contained.

Looks ok to me.

Oct 14 2023, 1:11 AM
ken accepted D42207: ctl: Make ctl_io.h more self-contained.
Oct 14 2023, 1:10 AM
ken accepted D42205: cam: Make <cam/scsi/scsi_all.h> more self-contained.

Looks good to me.

Oct 14 2023, 1:09 AM
ken accepted D42206: ctl: Make ctl.h more self-contained.

Looks fine to me.

Oct 14 2023, 1:08 AM