#
9e1db51d |
| 05-Nov-2024 |
John Baldwin <jhb@FreeBSD.org> |
nvmecontrol: Use active nslist to enumerate namespaces
Rather than probing all namespace IDs up to cdata.nn for the devlist command, fetch the active namespace list and iterate over that. This can
nvmecontrol: Use active nslist to enumerate namespaces
Rather than probing all namespace IDs up to cdata.nn for the devlist command, fetch the active namespace list and iterate over that. This can be much quicker on Fabrics controllers which often advertise a large cdata.nn value to support adding additional namespaces at runtime.
Reviewed by: chuck Reported by: Neven Z <nevenzfr@gmail.com> Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D47355
show more ...
|
Revision tags: release/13.4.0, release/14.1.0 |
|
#
6573ce29 |
| 20-Apr-2024 |
Gordon Bergling <gbe@FreeBSD.org> |
nvmecontrol(8): Remove a double word in a source code comment
- s/the the/the/
MFC after: 3 days
|
#
98ab7d0a |
| 17-Apr-2024 |
Warner Losh <imp@FreeBSD.org> |
nvmecontrol: Add nvme 2.0 fields to read_logpage
Add the lpo, ot, csi and uuid_index fields to read_logpage. The logpage command has not been updated to allow these to be specified.
Sponsored by:
nvmecontrol: Add nvme 2.0 fields to read_logpage
Add the lpo, ot, csi and uuid_index fields to read_logpage. The logpage command has not been updated to allow these to be specified.
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D44683
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 ...
|
#
e098d24b |
| 17-Apr-2024 |
Warner Losh <imp@FreeBSD.org> |
nvmecontrol: Have to truncate on all 32-bit architectures
armv7, powerpc, powerpcspe and i386 all lack 128-bit integer types. Adjust the comment and #ifdef. I don't think we support nvme on any of t
nvmecontrol: Have to truncate on all 32-bit architectures
armv7, powerpc, powerpcspe and i386 all lack 128-bit integer types. Adjust the comment and #ifdef. I don't think we support nvme on any of these other architectures at the moment, but it won't hurt to be more precise.
Sponsored by: Netflix Reviewed by: chuck Differential Revision: https://reviews.freebsd.org/D44650
show more ...
|
#
67163bc4 |
| 17-Apr-2024 |
Warner Losh <imp@FreeBSD.org> |
nvmecontrol: Create letoh to generically convert to host order
Using _Generic, create letoh which will generically convert uintXX_t types from little endian to host, regardless of the size. This nam
nvmecontrol: Create letoh to generically convert to host order
Using _Generic, create letoh which will generically convert uintXX_t types from little endian to host, regardless of the size. This name has been floated as a possible addition to endian.h.
Sponsored by: Netflix Discussed with: jhb Reviewed by: chuck Differential Revision: https://reviews.freebsd.org/D44649
show more ...
|
Revision tags: release/13.3.0, release/14.0.0 |
|
#
b3e76948 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
#
589fe499 |
| 02-Jun-2023 |
Elyes Haouas <ehaouas@noos.fr> |
nvmecontrol: Fix typos
Signed-off-by: Elyes Haouas <ehaouas@noos.fr> Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/653
|
#
4d846d26 |
| 10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause.
Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
show more ...
|
Revision tags: release/13.2.0, release/12.4.0 |
|
#
3a194eac |
| 11-Nov-2022 |
Wanpeng Qian <wanpengqian@gmail.com> |
nvmecontrol: fix wrong temperature unit for INTEL SSDs.
Although intel's specification did not tell which unit for Temperature Statistics (Log Identifier C5h), I believe it is based on Celsius inste
nvmecontrol: fix wrong temperature unit for INTEL SSDs.
Although intel's specification did not tell which unit for Temperature Statistics (Log Identifier C5h), I believe it is based on Celsius instead of Kelvin.
here is my P3700 SSDs result(before):
Intel Temperature Log ===================== Current: 30 K, -243.15 C, -405.67 F Overtemp Last Flags 0 Overtemp Lifetime Flags 0 Max Temperature 53 K, -220.15 C, -364.27 F Min Temperature 17 K, -256.15 C, -429.07 F Max Operating Temperature 63 K, -210.15 C, -346.27 F Min Operating Temperature 0 K, -273.15 C, -459.67 F Estimated Temperature Offset: 0 C/K after apply the patch, result is
Intel Temperature Log ===================== Current: 303.15 K, 30 C, 86.00 F Overtemp Last Flags 0 Overtemp Lifetime Flags 0 Max Temperature 326.15 K, 53 C, 127.40 F Min Temperature 290.15 K, 17 C, 62.60 F Max Operating Temperature 336.15 K, 63 C, 145.40 F Min Operating Temperature 273.15 K, 0 C, 32.00 F Estimated Temperature Offset: 0 C/K I also compare to smartctl's report. it match very well.
also tested on Intel P3600, it fixed the problem.
Signed-off-by: Wanpeng Qian <wanpengqian@gmail.com> Reviewed by: imp (added tweak to samsung.c so it still compiles) Differential Revision: https://reviews.freebsd.org/D32845
show more ...
|
Revision tags: release/13.1.0, release/12.3.0, release/13.0.0 |
|
#
5dc463f9 |
| 13-Nov-2020 |
Alexander Motin <mav@FreeBSD.org> |
Improve nvmecontrol error reporting.
MFC after: 1 week Sponsored by: iXsystems, Inc.
|
Revision tags: release/12.2.0, release/11.4.0 |
|
#
1f15d49e |
| 20-Apr-2020 |
Alexander Motin <mav@FreeBSD.org> |
Open device with O_RDONLY when command is non-invasive.
This allows to use some of the subcommands against mounted nvd devices.
MFC after: 1 week Sponsored by: iXystems, Inc.
|
Revision tags: release/12.1.0 |
|
#
6c99d132 |
| 02-Aug-2019 |
Alexander Motin <mav@FreeBSD.org> |
Decode few more NVMe log pages.
In particular: Changed Namespace List, Commands Supported and Effects, Reservation Notification, Sanitize Status.
Add few new arguments to `nvmecontrol log` subcomma
Decode few more NVMe log pages.
In particular: Changed Namespace List, Commands Supported and Effects, Reservation Notification, Sanitize Status.
Add few new arguments to `nvmecontrol log` subcommand.
MFC after: 2 weeks 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 ...
|
#
3b3dd3f7 |
| 31-Jul-2019 |
Alexander Motin <mav@FreeBSD.org> |
Feature-complete NVMe Namespace Management.
This adds several previously missed but important subcommands to list namespaces and controllers. It also fixes few previously added but just found with
Feature-complete NVMe Namespace Management.
This adds several previously missed but important subcommands to list namespaces and controllers. It also fixes few previously added but just found with real testing to be broken subcommands.
Also while there, add possibility to explicitly specify nsid for `nvmecontrol identify` subcommand. It may be useful to specify nsids not having own devices, for example 0xffffffff, or just newly created ones.
MFC after: 2 weeks Relnotes: yes 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 |
|
#
18b18078 |
| 25-Feb-2019 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r344527
|
#
a8fe8db4 |
| 25-Feb-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r344178 through r344512.
|
#
f428a90a |
| 22-Feb-2019 |
Warner Losh <imp@FreeBSD.org> |
Rework logpage extensibility.
Move from using a linker set to a constructor function that's called. This simplifies the code and is slightly more obvious. We now keep a list of page decoders rather
Rework logpage extensibility.
Move from using a linker set to a constructor function that's called. This simplifies the code and is slightly more obvious. We now keep a list of page decoders rather than having an array we managed before. Commands will move to something similar in the future.
Reviewed by: jhb@ Differential Revision: https://reviews.freebsd.org/D19275
show more ...
|
#
67350cb5 |
| 09-Dec-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340918 through r341763.
|
Revision tags: release/12.0.0 |
|
#
44d31a44 |
| 07-Dec-2018 |
Warner Losh <imp@FreeBSD.org> |
Declare global function print_intel_add_smart in header
|
#
4b639af1 |
| 07-Dec-2018 |
Warner Losh <imp@FreeBSD.org> |
Use proper prototypes.
|
#
0d095c23 |
| 06-Dec-2018 |
Warner Losh <imp@FreeBSD.org> |
Const poison the command interface
Make the pointers we pass into the commands const, also make the linker set mirrors const.
Suggested by: cem@ Sponsored by: Netflix Differential Revision: https:/
Const poison the command interface
Make the pointers we pass into the commands const, also make the linker set mirrors const.
Suggested by: cem@ Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D18459
show more ...
|
#
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 ...
|