#
c1fccf0f |
| 08-Apr-2024 |
Warner Losh <imp@FreeBSD.org> |
nvmecontrol: Implement telemetry-log command.
This produces the same data as the Linux nvme-cli 'nvme telemetry-log' command. It extracts the telemetry log from drive. This is a variable length log,
nvmecontrol: Implement telemetry-log command.
This produces the same data as the Linux nvme-cli 'nvme telemetry-log' command. It extracts the telemetry log from drive. This is a variable length log, so we read the first page and find out how much of the log to grab. There's 3 levels of details available, and we grab the level of detail specified on the command line.
Sponsored by: Netflix
show more ...
|
#
1058c121 |
| 03-May-2024 |
John Baldwin <jhb@FreeBSD.org> |
nvmecontrol: New commands to support Fabrics hosts
- discover: Connects to a remote Discovery controller, fetches its Discovery Log Page, and enumerates the remote controllers described in the l
nvmecontrol: New commands to support Fabrics hosts
- discover: Connects to a remote Discovery controller, fetches its Discovery Log Page, and enumerates the remote controllers described in the log page.
The -v option can be used to display the Identify Controller data structure for the Discovery controller. This is only really useful for debugging.
- connect: Connects to a remote I/O controller and establishes an association of an admin queue and a single I/O queue. The association is handed off to the in-kernel host to create a new nvmeX device.
- connect-all: Connects to a Discovery controller and attempts to create an association with each I/O controller enumerated in the Discovery controller's Discovery Log Page.
- reconnect: Establishes a new association with a remote I/O controller for an existing nvmeX device. This can be used to restore access to a remote I/O controller after the loss of a prior association due to a transport error, controller reboot, etc.
- disconnect: Deletes one or more nvmeX devices after detaching its namespaces and terminating any active associations. The devices to delete can be identified by either a nvmeX device name or the NQN of the remote controller.
- disconnect-all: Deletes all active associations with remote controllers.
Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44715
show more ...
|
#
49ea0889 |
| 17-Apr-2024 |
Warner Losh <imp@FreeBSD.org> |
nvmecontrol: One file per line
Move to a one file per line setup, and sort the files alphabetically.
Sponsored by: Netflix Reviewed by: chuck, jhb Differential Revision: https://reviews.freebsd.o
nvmecontrol: One file per line
Move to a one file per line setup, and sort the files alphabetically.
Sponsored by: Netflix Reviewed by: chuck, jhb Differential Revision: https://reviews.freebsd.org/D44684
show more ...
|
#
1c4b7eff |
| 17-Apr-2024 |
Warner Losh <imp@FreeBSD.org> |
nvmecontrol: Fix to128 for big endian targets
The source is always 128-bits in little endian format. For big endian hosts, we have to convert, or we print bogus numbers.
Sponsored by: Netflix Revi
nvmecontrol: Fix to128 for big endian targets
The source is always 128-bits in little endian format. For big endian hosts, we have to convert, or we print bogus numbers.
Sponsored by: Netflix Reviewed by: chuck Differential Revision: https://reviews.freebsd.org/D44651
show more ...
|
Revision tags: release/13.3.0, release/14.0.0 |
|
#
d0b2dbfa |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
Revision tags: release/13.2.0, release/12.4.0 |
|
#
5f9db65d |
| 22-Jul-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
pkgbase: Put nvmecontrol in its own package
It doesn't really make sense to have it in runtime and let's not bloat utilities more.
Reviewed by: emaste Differential Revision: https://reviews.freebsd
pkgbase: Put nvmecontrol in its own package
It doesn't really make sense to have it in runtime and let's not bloat utilities more.
Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D36221
show more ...
|
Revision tags: release/13.1.0, release/12.3.0, release/13.0.0 |
|
#
67334019 |
| 08-Jan-2021 |
Chuck Tuffli <chuck@FreeBSD.org> |
nvmecontrol: add device self-test op and log page
Add decoding of the Device Self-test log page and the ability to start or abort a test.
Reviewed by: imp, mav Tested by: Muhammad Ahmad <muhammad.a
nvmecontrol: add device self-test op and log page
Add decoding of the Device Self-test log page and the ability to start or abort a test.
Reviewed by: imp, mav Tested by: Muhammad Ahmad <muhammad.ahmad@seagate.com> MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D27517
show more ...
|
Revision tags: release/12.2.0, release/11.4.0 |
|
#
0e3e53d7 |
| 07-Apr-2020 |
David Bright <dab@FreeBSD.org> |
Add a basic test for nvmecontrol
I recently made some bug fixes in nvmecontrol. It occurred to me that since nvmecontrol lacks any kyua tests, I should convert the informal testing I did into a more
Add a basic test for nvmecontrol
I recently made some bug fixes in nvmecontrol. It occurred to me that since nvmecontrol lacks any kyua tests, I should convert the informal testing I did into a more formal automated test. The test in this change should be considered just a starting point; it is neither complete nor thorough. While converting the test to ATF/kyua, I discovered a small bug in nvmecontrol; the nvmecontrol devlist command would always exit with an unsuccessful status. So I included the fix for that, too, so that the test won't fail.
Reviewed by: imp@ MFC after: 3 days Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D24269
show more ...
|
Revision tags: release/12.1.0 |
|
#
ef7a2ead |
| 06-Aug-2019 |
Warner Losh <imp@FreeBSD.org> |
Fix mismerge.
I merged passthru.c from the wrong branch (it was a branch that went further in a direction I wound up not taking). Fix the mismerge and turn passthru on.
|
#
70d20ed3 |
| 05-Aug-2019 |
Alexander Motin <mav@FreeBSD.org> |
Add `nvmecontrol resv` to handle NVMe reservations.
NVMe reservations are quite alike to SCSI persistent reservations and can be used in clustered setups with shared multiport storage.
MFC after: 1
Add `nvmecontrol resv` to handle NVMe reservations.
NVMe reservations are quite alike to SCSI persistent reservations and can be used in clustered setups with shared multiport storage.
MFC after: 10 days Relnotes: yes Sponsored by: iXsystems, Inc.
show more ...
|
#
278ba86c |
| 03-Aug-2019 |
Alexander Motin <mav@FreeBSD.org> |
Add `nvmecontrol sanitize` command.
It allows to delete all user data from NVM subsystem in one of 3 methods. It is a close equivalent of SCSI SANITIZE command of `camcontrol sanitize`, so I tried t
Add `nvmecontrol sanitize` command.
It allows to delete all user data from NVM subsystem in one of 3 methods. It is a close equivalent of SCSI SANITIZE command of `camcontrol sanitize`, so I tried to keep arguments as close as possible.
While there, fix supported sanitize methods reporting in `identify`.
MFC after: 2 weeks Relnotes: yes Sponsored by: iXsystems, Inc.
show more ...
|
#
a7bf63be |
| 01-Aug-2019 |
Alexander Motin <mav@FreeBSD.org> |
Add IOCTL to translate nvdX into nvmeY and NSID.
While very useful by itself, it also makes `nvmecontrol` not depend on hardcoded device names parsing, that in its turn makes simple to take nvdX (an
Add IOCTL to translate nvdX into nvmeY and NSID.
While very useful by itself, it also makes `nvmecontrol` not depend on hardcoded device names parsing, that in its turn makes simple to take nvdX (and potentially any other) device names as arguments.
Also added IOCTL bypass from nvdX to respective nvmeYnsZ makes them interchangeable for management purposes.
MFC after: 2 weeks Sponsored by: iXsystems, Inc.
show more ...
|
#
a63915c2 |
| 28-Jul-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @r350386
Sponsored by: The FreeBSD Foundation
|
#
f634b4c1 |
| 16-Jul-2019 |
Warner Losh <imp@FreeBSD.org> |
Create generic command / arg parsing routines
Create a set of routines and structures to hold the data for the args for a command. Use them to generate help and to parse args. Convert all the curren
Create generic command / arg parsing routines
Create a set of routines and structures to hold the data for the args for a command. Use them to generate help and to parse args. Convert all the current commands over to the new format. "comnd" is a hat-tip to the TOPS-20 %COMND JSYS that (very) loosely inspired much of the subsequent command line notions in the industry, but this is far simpler (the %COMND man page is longer than this code) and not in the kernel... Also, it implements today's de-facto command [verb]+ [opts]* [args]* format rather than the old, archaic TOPS-20 command format :)
This is a snapshot of a work in progress to get the nvme passthru stuff committed. In time it will become a private library and used by some other programs in the tree that conform to the above pattern.
Differential Revision: https://reviews.freebsd.org/D19296
show more ...
|
Revision tags: release/11.3.0 |
|
#
67350cb5 |
| 09-Dec-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340918 through r341763.
|
Revision tags: release/12.0.0 |
|
#
eac8e827 |
| 06-Dec-2018 |
Warner Losh <imp@FreeBSD.org> |
Move intel and wdc files to their own modules
Move the intel and wdc vendor specific stuff to their own modules.
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D18460
|
#
228c4255 |
| 06-Dec-2018 |
Warner Losh <imp@FreeBSD.org> |
Dynamically load .so modules to expand functionality
o Dynamically load all the .so files found in /libexec/nvmecontrol and /usr/local/libexec/nvmecontrol. o Link nvmecontrol -rdynamic so that its
Dynamically load .so modules to expand functionality
o Dynamically load all the .so files found in /libexec/nvmecontrol and /usr/local/libexec/nvmecontrol. o Link nvmecontrol -rdynamic so that its symbols are visible to the libraries we load. o Create concatinated linker sets that we dynamically expand. o Add the linked-in top and logpage linker sets to the mirrors for them and add those sets to the mirrors when we load a new .so. o Add some macros to help hide the names of the linker sets. o Update the man page.
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D18455
fold
show more ...
|
#
2da383a5 |
| 03-Dec-2018 |
Warner Losh <imp@FreeBSD.org> |
Move Intel specific log pages to intel.c
Move the Intel specific log pages (including the one that samsung implements) to intel.c. Add comment to the samsung vendor that it will be going away soon.
Move Intel specific log pages to intel.c
Move the Intel specific log pages (including the one that samsung implements) to intel.c. Add comment to the samsung vendor that it will be going away soon.
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D18403
show more ...
|
Revision tags: release/11.2.0 |
|
#
e505b7ec |
| 14-Jun-2018 |
Warner Losh <imp@FreeBSD.org> |
Make it possible to use print_controller from another program
Rename print_controller to nvme_print_controller. Put it in its own file for easy inclusion. Move util.c to be nc_util.c to not conflict
Make it possible to use print_controller from another program
Rename print_controller to nvme_print_controller. Put it in its own file for easy inclusion. Move util.c to be nc_util.c to not conflict with camcontrol. add nvecontrol_ext.h to define shared interfaces.
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D15371
show more ...
|
#
ba405bc8 |
| 05-May-2018 |
Alexander Motin <mav@FreeBSD.org> |
Add NVMe Namespace Management support to nvmecontrol(8).
This allows create/delete/attach/detach namespaces on new NVMe controllers. This is only a first user-level part of the bigger change set. K
Add NVMe Namespace Management support to nvmecontrol(8).
This allows create/delete/attach/detach namespaces on new NVMe controllers. This is only a first user-level part of the bigger change set. Kernel part required to detect and handle the configuration changes without reboot is completely independent and will be added separately.
Submitted by: Matt Williams <mffbsdw@gmail.com> (original version) Differential Revision: https://reviews.freebsd.org/D11399
show more ...
|
#
635c517a |
| 13-Mar-2018 |
Alexander Motin <mav@FreeBSD.org> |
Add `nvmecontrol format` subcommand.
It allows to change namespace parameters, such as block size, metadata, protection information, etc. and/or erase the data.
MFC after: 2 weeks Sponsored by: iXs
Add `nvmecontrol format` subcommand.
It allows to change namespace parameters, such as block size, metadata, protection information, etc. and/or erase the data.
MFC after: 2 weeks Sponsored by: iXsystems, Inc.
show more ...
|
Revision tags: release/10.4.0 |
|
#
531c2d7a |
| 24-Jul-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r320180
|
#
bca9d05f |
| 23-Jul-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r319973 through 321382.
|
Revision tags: release/11.1.0 |
|
#
f6e653bb |
| 02-Jul-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r320398 through r320572.
|
#
970d454f |
| 27-Jun-2017 |
Warner Losh <imp@FreeBSD.org> |
Move 128-bit integer routines to util.c so they can be used by more than just the log page code.
Sponsored by: Netflix, Inc Submitted by: Matt Williams (via D11330)
|