Page MenuHomeFreeBSD

chuck (Chuck Tuffli)
User

Projects

User Details

User Since
Dec 7 2017, 1:03 PM (366 w, 5 d)

Recent Activity

Nov 6 2024

chuck requested review of D47468: nvme: Add macros for NVMe CNS values.
Nov 6 2024, 3:37 PM

Nov 4 2024

chuck accepted D47393: nvmf: Fix an off by one error when scanning active namespace IDs.
Nov 4 2024, 6:21 PM
chuck accepted D47355: nvmecontrol: Use active nslist to enumerate namespaces.
Nov 4 2024, 6:17 PM
chuck accepted D47354: nvmecontrol: Refactor devlist implementation.
Nov 4 2024, 6:00 PM

Oct 13 2024

chuck committed rG5374b9e14681: bhyve/nvme: Fix Infinite loop in queue processing (authored by chuck).
bhyve/nvme: Fix Infinite loop in queue processing
Oct 13 2024, 2:00 PM

Oct 6 2024

chuck committed rGb0a24be007d8: bhyve/nvme: Fix out-of-bounds read in NVMe log page (authored by chuck).
bhyve/nvme: Fix out-of-bounds read in NVMe log page
Oct 6 2024, 2:03 PM

Jun 26 2024

chuck accepted D45750: nvme: avoid gcc -Werror=int-to-pointer-cast on 32-bit arch.
Jun 26 2024, 8:13 PM

Jun 16 2024

chuck abandoned D45549: nvme: Fix namespace destruct.

@mav beat me to the fix.

Jun 16 2024, 2:56 PM

Jun 10 2024

chuck requested review of D45549: nvme: Fix namespace destruct.
Jun 10 2024, 4:57 PM

Jun 9 2024

chuck accepted D45416: linux: Translate Linux NVME ioctls to the lower layers..

Testing with an unmodified Linux nvme-cli fails without the noted change masking cmd. Fix that, and this LGTM. Thanks for all the integration!

Jun 9 2024, 5:34 PM
chuck accepted D45415: nvme: Add Linux copatible ioctls.

Testing with an unmodified Linux nvme-cli looks good using this patch rebased on top of my device alias changes.

Jun 9 2024, 5:25 PM

Jun 1 2024

chuck committed rGce75bfcac9cf: nvme: Change namespace device name (authored by chuck).
nvme: Change namespace device name
Jun 1 2024, 11:15 AM
chuck closed D45414: nvme: Change namespace device name.
Jun 1 2024, 11:15 AM

May 30 2024

chuck requested review of D45414: nvme: Change namespace device name.
May 30 2024, 5:00 PM

May 23 2024

chuck accepted D45311: nvme: Count number of alginment splits.
May 23 2024, 1:49 PM
chuck added inline comments to D45311: nvme: Count number of alginment splits.
May 23 2024, 1:49 PM

Apr 25 2024

chuck accepted D44958: nvmecontrol: Flesh out nvmecontrol format information.

LGTM

Apr 25 2024, 11:40 PM
chuck accepted D44958: nvmecontrol: Flesh out nvmecontrol format information.

This looks good and helps explain (with examples) a common NVMe stumbling block.

Apr 25 2024, 9:35 PM

Apr 18 2024

chuck added inline comments to D44719: ctl: Support NVMe requests in debug trace functions.
Apr 18 2024, 5:54 PM

Apr 17 2024

chuck added inline comments to D44719: ctl: Support NVMe requests in debug trace functions.
Apr 17 2024, 9:16 PM
chuck accepted D44730: nvmfdd: A simple userspace NVMe over Fabrics host.

Handful of nits, but overall, LGTM!

Apr 17 2024, 9:08 PM

Apr 10 2024

chuck accepted D44680: nvmecontrol: Make the error log page work on native format.
Apr 10 2024, 4:09 AM
chuck accepted D44684: nvmecontrol: One file per line.
Apr 10 2024, 4:04 AM
chuck accepted D44681: nvmecontrol: add newlines where needed for ns command printfs.
Apr 10 2024, 4:00 AM

Apr 8 2024

chuck accepted D44654: nvmecontrol: Move self test status page printing to little endian orderinng.
Apr 8 2024, 5:06 PM
chuck accepted D44659: nvme: Eliminate intel_log_temp_stats_swapbytes.
Apr 8 2024, 3:16 PM
chuck accepted D44658: nvmecontrol: Move intel temperature page printing to little endian orderinng.
Apr 8 2024, 3:15 PM
chuck accepted D44657: nvmecontrol: Move sanitize status page printing to little endian orderinng.
Apr 8 2024, 3:14 PM
chuck accepted D44656: nvmecontrol: Move reservation notifcation page printing to little endian orderinng.
Apr 8 2024, 3:12 PM
chuck accepted D44655: nvmecontrol: Move command effeccts page printing to little endian orderinng.
Apr 8 2024, 3:11 PM
chuck accepted D44654: nvmecontrol: Move self test status page printing to little endian orderinng.
Apr 8 2024, 3:10 PM
chuck accepted D44653: nvmecontrol: Move namespace change page printing to little endian orderinng.
Apr 8 2024, 2:56 PM
chuck accepted D44652: nvmecontrol: Move smart/health printing to little endian orderinng.
Apr 8 2024, 2:52 PM
chuck accepted D44651: nvmecontrol: Fix to128 for big endian targets.
Apr 8 2024, 2:08 PM
chuck accepted D44650: nvmecontrol: Have to truncate on all 32-bit architectures.
Apr 8 2024, 1:59 PM
chuck accepted D44649: nvmecontrol: Create letoh generically convert to host order.

amazeballs!

Apr 8 2024, 1:56 PM

Mar 7 2024

chuck accepted D44209: nvme: split devctl out to its own function.
Mar 7 2024, 1:17 AM

Feb 28 2024

chuck accepted D44121: nvme: Firmware revisions in the firmware slot information log are ASCII strings.

LGTM

Feb 28 2024, 3:18 PM

Jan 29 2024

chuck committed rG0d7fef9124c1: bhyve nvme: Add NQN value (authored by chuck).
bhyve nvme: Add NQN value
Jan 29 2024, 12:23 AM

Jan 28 2024

chuck committed rGdca696965fda: bhyve nvme: Add NQN value (authored by chuck).
bhyve nvme: Add NQN value
Jan 28 2024, 11:55 PM
chuck added a reverting change for rG4bd4942ea70b: bhyve nvme: Add NQN value: rG55210b704a05: Revert "bhyve nvme: Add NQN value".
Jan 28 2024, 1:34 AM
chuck committed rG55210b704a05: Revert "bhyve nvme: Add NQN value" (authored by chuck).
Revert "bhyve nvme: Add NQN value"
Jan 28 2024, 1:34 AM
chuck committed rG4bd4942ea70b: bhyve nvme: Add NQN value (authored by chuck).
bhyve nvme: Add NQN value
Jan 28 2024, 1:26 AM
chuck accepted D43607: bhyve: Use NVMEF macro to construct fields.
Jan 28 2024, 1:07 AM
chuck accepted D43605: nvme: Use the NVMEF macro to construct fields.
Jan 28 2024, 1:02 AM
chuck accepted D43604: nvme: Add NVMEF helper macro as the inverse of NVMEV.
Jan 28 2024, 12:59 AM
chuck accepted D43603: bhyve: Use the NVMEM macro instead of expanded versions.
Jan 28 2024, 12:58 AM
chuck accepted D43602: nvme: Use the NVMEM macro instead of expanded versions.
Jan 28 2024, 12:57 AM
chuck accepted D43601: nvme: Rename NVMEB helper macro to NVMEM.
Jan 28 2024, 12:54 AM
chuck accepted D43600: bhyve: Use NVMEV to read the ASQS field of AQA.
Jan 28 2024, 12:52 AM
chuck accepted D43598: bhyve: Use the NVMEV macro instead of expanded versions.
Jan 28 2024, 12:49 AM
chuck accepted D43596: nda: Use the NVMEV macro instead of expanded versions.
Jan 28 2024, 12:47 AM
chuck accepted D43595: nvme: Use the NVMEV macro instead of expanded versions.
Jan 28 2024, 12:46 AM

Oct 30 2023

chuck accepted D42400: mpi3mr: Enqueue request from mpi3mr_prepare_sgls.

Not familiar with this driver, but the changes look OK to me.

Oct 30 2023, 3:33 PM

Oct 16 2023

chuck accepted D42203: Add ping6 as MLINK to ping.

LGTM, but I'll give other folks a chance to peek

Oct 16 2023, 5:14 PM

Oct 12 2023

chuck committed rG32557d16e2c3: bhyve nvme: Add NQN value (authored by chuck).
bhyve nvme: Add NQN value
Oct 12 2023, 11:49 PM
chuck closed D42058: bhyve nvme: Add NQN value.
Oct 12 2023, 11:48 PM

Oct 11 2023

chuck updated the diff for D42058: bhyve nvme: Add NQN value.

Updated per review comments

Oct 11 2023, 4:33 PM

Oct 4 2023

chuck accepted D42051: nvme: Eliminate RECOVERY_FAILED state.
Oct 4 2023, 3:35 PM

Oct 2 2023

chuck added inline comments to D42051: nvme: Eliminate RECOVERY_FAILED state.
Oct 2 2023, 11:24 PM
chuck accepted D42050: nvme: Remove stale comment.
Oct 2 2023, 11:08 PM
chuck accepted D42049: nvme: Really remove NVME_2X_RESET.
Oct 2 2023, 11:07 PM
chuck accepted D42048: nvme: gc nvme_ctrlr_post_failed_request and related task stuff.
Oct 2 2023, 11:06 PM
chuck requested review of D42058: bhyve nvme: Add NQN value.
Oct 2 2023, 11:01 PM

Aug 17 2023

chuck accepted D41487: bhyve: Store the FreeBSD OUI in little-endian in the controller data.
Aug 17 2023, 1:31 PM

Aug 15 2023

chuck accepted D41452: nvme: Add exclusion for ISR.
Aug 15 2023, 9:01 PM
chuck added inline comments to D41452: nvme: Add exclusion for ISR.
Aug 15 2023, 5:09 PM
chuck accepted D36921: nvme: Timeout expired transactions.
Aug 15 2023, 4:46 PM

Aug 6 2023

chuck added a comment to D41316: nvme: Allow requestors to suppress error reporting.

When nda turns off reporting, how are pass-through commands treated? Will this change suppress errors from those commands as well?

Aug 6 2023, 7:22 PM
chuck accepted D41315: nvme: Update comment.
Aug 6 2023, 7:17 PM
chuck accepted D41314: nvme: Add comments about other fields in status.
Aug 6 2023, 7:15 PM
chuck accepted D41313: nvme: Be less verbose when cancelling I/O or admin commands.
Aug 6 2023, 7:11 PM
chuck accepted D41312: nvme: Convert adjacent bools to a bitfield.

If you are looking to add more flag values, I'd move this to after retries and change the type to uint32_t or uint16_t if you think more might be needed in the future.

Aug 6 2023, 7:05 PM
chuck accepted D41311: nvme: Add more NVME Base Spec 2.0 and NVME Command Set Spec 1.0a.
Aug 6 2023, 6:58 PM
chuck accepted D41310: nvme: Eliminate redundant code.

I like @jhb 's table approach but would prefer the shorter string (i.e., RESERVATION REGISTER vs NVME_OPC_RESERVATION_REGISTER

Aug 6 2023, 6:50 PM
chuck accepted D41309: nvme: Remove duplicate command printing routine.
Aug 6 2023, 6:23 PM
chuck accepted D41308: nvme: Remove duplicate completion printing routine.
Aug 6 2023, 6:22 PM

Jul 21 2023

chuck accepted D41119: nvme: Use a memdesc for the request buffer instead of a bespoke union..

Tested with smart(8) and all looks good:

# ./smart -d nda0
Critical Warning        0       0
Composite Temperature   1       316
Available Spare 3       100
Available Spare Threshold       4       5
Percentage Used 5       0
Data Units Read 32      1524527
Data Units Written      48      2582739
Host Read Commands      64      22258691
Host Write Commands     80      26153957
Controller Busy Time    96      36
Power Cycles    112     483
Power On Hours  128     2564
Unsafe Shutdowns        144     242
Media and Data Integrity Errors 160     0
Number of Error Information Log Entries 176     373
#
Jul 21 2023, 6:43 PM

Jul 20 2023

chuck added a comment to D41119: nvme: Use a memdesc for the request buffer instead of a bespoke union..
In D41119#936246, @jhb wrote:

Would you be able to test it easily? :)

Jul 20 2023, 6:36 PM
chuck added a comment to D41058: cam: Move bus_dmamap_load_ccb into cam.c..
In D41058#935594, @imp wrote:

...
nvme_qpair.c grew unfortunate knowledge of ccb's after I did the initial nvme sim work. Although I committed it, chuck tuffli did the the work to add CAM_DATA_SG support to the pass driver for nvme, where we have to load a dmamap for that operation (so normal I/O doesn't use it, but this new, special I/O through pass does use it). This was fine while the bus_dmamap_load_ccb was inside of subr_busdma, but when it moved to cam, it was no longer fine, but the liability we're talking about now.

Jul 20 2023, 4:46 PM

Jul 19 2023

chuck accepted D41085: cam: Add CAM_NVME_STATUS_ERROR error code.
Jul 19 2023, 12:47 PM

Jun 27 2023

chuck added a comment to D40731: bhyve: Stop calling pci_lintr_request() in the NVMe device model.

FWIW, I was able to boot an Alma Linux VM with this change

Jun 27 2023, 10:57 PM
chuck accepted D40731: bhyve: Stop calling pci_lintr_request() in the NVMe device model.
Jun 27 2023, 6:30 PM
chuck accepted D40763: nvme: Fix typo in "Command Aborted by Host" constant name..
Jun 27 2023, 3:27 PM

Jun 20 2023

chuck accepted D40616: nvme: Tidy up transfer rate settings in XPT_GET_TRAN_SETTINGS..
Jun 20 2023, 3:33 PM
chuck accepted D40618: nvme_xpt: Tidy nvme_announce_periph for fabrics support..

If the transport variable mirrors the Fabric types (i.e., PCIe, RDMA, TCP, FC), this makes sense to me as there are differences (like shown here with the PCIe lane count / speeds) between the -oF transports.

Jun 20 2023, 1:43 PM

Jun 2 2023

chuck accepted D40394: nvme: Don't install nvme_private.h in /usr/include..
Jun 2 2023, 8:44 PM

May 17 2023

chuck resigned from D32700: nvmecontrol: Implement Get/Set Feature for nvmecontrol.
May 17 2023, 5:50 PM

Feb 25 2023

chuck accepted D38771: CONTRIBUTING.md: Add in for github pull requests.

Other than minor nit, LGTM

Feb 25 2023, 7:19 PM

Dec 10 2022

chuck committed rGa4e0b5e28fdc: nvmecontrol: Fix IEEE OUI Identifier output (authored by wanpengqian_gmail.com).
nvmecontrol: Fix IEEE OUI Identifier output
Dec 10 2022, 7:37 PM

Dec 9 2022

chuck accepted D37650: bhyve: Remove unused argument from pci_nvme_handle_doorbell..
Dec 9 2022, 4:54 PM

Nov 25 2022

chuck accepted D37488: bhyve: Avoid unlikely truncation of the blockif ident strings..

LGTM but I'm also curious if @corvink suggestion of %u helps

Nov 25 2022, 5:39 PM
chuck accepted D37487: bhyve: Clear lid to 0 for internal device errors for NVMe AENs..

These changes are good but not really necessary from a functionality point of view. In both cases, the emulation is returning an error, making the LID undefined from the guest's perspective. But I'm all for good hygiene.

Nov 25 2022, 5:11 PM
chuck accepted D37486: bhyve: Don't leak uninitialized bits in NVMe completion statuses..

LGTM

Nov 25 2022, 5:05 PM

Nov 19 2022

chuck committed rG41be508d31a5: nvmecontrol: Fix IEEE OUI Identifier output (authored by wanpengqian_gmail.com).
nvmecontrol: Fix IEEE OUI Identifier output
Nov 19 2022, 7:19 PM
chuck closed D33856: nvmecontrol: Fix IEEE OUI Identifier output..
Nov 19 2022, 7:18 PM
chuck committed rGf3a69bc7223a: bhyve nvme: Check return value of mapped memory (authored by chuck).
bhyve nvme: Check return value of mapped memory
Nov 19 2022, 6:46 PM
chuck committed rGdcdb43f28fac: bhyve nvme: Fix firmware read only initialization (authored by wanpengqian_gmail.com).
bhyve nvme: Fix firmware read only initialization
Nov 19 2022, 5:57 PM
chuck committed rG01f3c2655c4c: bhyve nvme: Switch to POSIX standard functions (authored by chuck).
bhyve nvme: Switch to POSIX standard functions
Nov 19 2022, 5:57 PM
chuck committed rG2449e9c5e777: bhyve: Fix Number of Power States Supported value (authored by wanpengqian_gmail.com).
bhyve: Fix Number of Power States Supported value
Nov 19 2022, 5:57 PM