User Details
- User Since
- Jan 23 2015, 10:35 PM (609 w, 2 d)
Today
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.
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.
Constrain the number of reservation report entries printed to what fits in the data buffer, per review feedback.
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 21
Rebase on the persist rework in D59534 (the nvres subcommand is gone; no changes to nvfeature itself).
Rebase on the persist rework in D59534 (the nvres subcommand is gone; no changes to nvformat itself).
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.
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.
Wed, Sep 9
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.
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.
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).
Fix spelling of the changeable capability name
Aug 3 2026
Looks good to me.
Mar 11 2026
Mar 2 2026
Feb 14 2025
Fine with me...but are we not actually putting the text of the license in the file anymore?
Jan 25 2025
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.
Jul 16 2024
Jun 24 2024
Change fwload_only to fwload_force.
Jun 21 2024
Jun 20 2024
Apr 15 2024
Looks like the copyright text is missing.
Looks good, thank you for doing this! I'm glad to finally see CTL NVMe support going in.
Jan 3 2024
Dec 29 2023
Dec 28 2023
Dec 27 2023
This should be fine, thanks!
Looks fine to me, thanks!
Dec 20 2023
Dec 14 2023
Dec 13 2023
Use BUS_SPACE_MAXSIZE_32BIT+1 to represent the 4GB boundary instead of 0x100000000.
Dec 12 2023
Oct 31 2023
Good idea. Sbuf didn't exist back when the debug macros were written, this is an improvement.
Looks good, thank you!
Oct 30 2023
This makes it sound like unmapped I/O and rotating media support will be removed in FreeBSD 15.
Oct 14 2023
Looks good to me.
Jul 25 2023
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.
Jun 20 2023
Looks fine, thanks.
Looks good to me, thanks.
Apr 14 2023
Looks ok to me.
