Page MenuHomeFreeBSD

ken (Ken Merry)
User

Projects

User Details

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

Recent Activity

Today

ken updated the diff for D59536: camcontrol: Add an nvfeature 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: Add an nvformat subcommand to format NVMe devices.

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 an nvfeature 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: Add an nvformat subcommand to format NVMe devices.

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 an nvfeature 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 an nvfeature subcommand for NVMe Get/Set Features.
Wed, Sep 9, 3:41 PM
ken updated the summary of D59535: camcontrol: Add an nvformat subcommand to format NVMe devices.
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 an nvfeature 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 an nvfeature subcommand for NVMe Get/Set Features.
Wed, Sep 9, 3:35 PM
ken requested review of D59535: camcontrol: Add an nvformat subcommand to format NVMe devices.
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

Jul 25 2023

ken added a comment to D41167: cam: Log errors from passthru commands.
In D41167#937442, @mav wrote:

My position traditionally was that user-space should handle and report its own errors by itself, but kernel should handle some system-wide. I agree that there may be some merits in this. Aside of reporting to devctl this should also properly re-broadcast Unit Attentions, which do not belong to specific command and so periph. As I can see, devctl should already receive device name to differentiate pass-through requests. I wonder it is could report some process identification too?

Jul 25 2023, 7:37 PM
ken accepted D41167: cam: Log errors from passthru commands.

I think this will be ok. It will give at least some avenue to report errors that go up via the pass(4) driver without additional console spamming.

Jul 25 2023, 7:33 PM

Jun 20 2023

ken accepted D40655: camdd: Remove set but unused variables..

Looks fine, thanks.

Jun 20 2023, 4:37 PM
ken accepted D40653: mt: Remove a set but unused variable..

Looks good to me, thanks.

Jun 20 2023, 4:35 PM

Apr 14 2023

ken accepted D39572: cam: Properly mask out the status bits to get completion code.

Looks ok to me.

Apr 14 2023, 2:24 PM