Breno Leitao [Mon, 21 Jan 2019 11:31:15 +0000 (06:31 -0500)]
Fix compilation with GCC-8
Printf() is being called to print an unsigned long int using the long long
identifier. This causes the following error with GCC-8:
nvme.c:3056:5: error: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘__u64 {aka long unsigned int}’ [-Werror=format=]
"Invalid value for block size (%llu), must be a power of two\n",
^
nvme.c:3091:6: error: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘__u64 {aka long unsigned int}’ [-Werror=format=]
"LBAF corresponding to block size %llu (LBAF %u) not found\n",
Adjusting the printf arguments to print the proper format.
Dong Ho [Fri, 11 Jan 2019 00:37:06 +0000 (00:37 +0000)]
wdc: Change device capability checking
Changes the way device VID and type are checked for compatibility
purposes. Other minor changes for command names, update the respective
documentation file names, and remove deprecated C1 log functionality.
Keith Busch [Fri, 11 Jan 2019 00:25:03 +0000 (17:25 -0700)]
nvme: Release 1.7
Thank you to all the contributions in this release. Lots of new options,
spec features, output updates, and bug fixes. Shortlog below.
Austin J Eberle (1):
nvme-cli: prevent resv action field overflow
Benreese0 (1):
nvme: Adding a block size selector to format
Chaitanya Kulkarni (23):
nvme-cli: remove unnecessary assignments
nvme-cli add ns write protect feature support
nvme-cli: add minimal ana-log page support
nvme-cli: add ana-log documentation
nvme-cli: make show_registers_cap() static
nvme-cli: wdc-plugin mark array static declaration
nvme-cli: fix sparse warnings for declaration
nvme-cli: don't use unsigned for fd in lnvm-nvme.c
nvme-cli: remove always true condition for u8
nvme-cli: fix dead-code nvmf log page discovery
nvme-cli: code cleanup for passthru() handlers
nvme-cli: fix scaandir() return value
nvme-cli: use uniform error message for open
nvme-cli: fix indentation
nvme-cli: make wdc plug-in functions static
nvme-cli: mark functions static
nvme-cli: make malloc error handling uniform
nvme-cli: fix indentation for dir_[send/receive]
nvme-cli: make read error handling uniform
nvme-cli: fix sanitize status endianness
nvme-cli: fix ana-log endianness
nvme-cli: fix array len to hold string of size 4
nvme-cli: fix endianness for the structure field
Dan Bond (1):
README: update Arch Linux install instructions
David Milburn (1):
nvme-cli: report subsystem-reset not supported by controller
Dong Ho (6):
nvme-cli: tests: fix fw_log test coding style
nvme-cli: tests: fix id_ctrl test coding style
nvme-cli: tests: fix id_ns test coding style
nvme-cli: tests: Add get_id_ctrl function
nvme-cli wdc plugin: Add get pfail dump command.
nvme-cli wdc plugin: Add documentation for pfail dump.
Eyal Ben David (8):
nvme-print.c : fix ns-descs JSON output
nvme-get-property : Add documentation
nvme-models.c - search for pci.ids
nvme list : fix nvme list output if identify failed on device
attach-ns : fix segfault for ctrl list wrong input
nvme.spec.in : fix bash completion path, require
Refactor plugins in a file hierarchy
connect-all: special treatment to EALREADY afetr write to /dev/nvme-fabrics
Hannes Reinecke (13):
nvme-ana-log: fixup compiler warning in show_ana_log()
nvme-vendor: fixup c99 declaration in huawei plugin
nvme-discover: sanitize options
nvme-discover: Retry discovery log if the generation counter changes
nvme-ioctl: retrieve log pages in 4k chunks
nvme-discover: Re-check generation counter after log page transfer
seagate-nvme: fixup coding style
nvme-cli: Add 'rae' argument to nvme_get_log()
nvme-cli: kill nvme_passthru_admin()
nvme: fixup ANA group descriptor offset
nvme: introduce get_nvme_ctrl_attr()
nvme: print out controller state for 'list-subsys'
nvme-list-subsys: Add device name argument and print out ANA state
Harry Mallon (3):
micron-nvme: Replace direct use of ioctl
Fix typos in docs
Fix typos in tests and utils
Jeff Lien (1):
nvme-cli: Fix the displayed metadata length value on Big Endian systems.
Jeffrey Lien (5):
Add PCI device id checking for the WDC plugin commands.
Fix nvme test device selection to use controller value defined in the config.json file. Before this fix, the value was hard coded to nvme0.
NVMe-CLI WDC Plugin - Simplify the device id checking routines.
nvme-cli: Add wdc-plugin command vs-internal-log and update wdc-plug cap-diag command with transfer-size parameter.
nvme-cli: Add help text for wdc-plugin command vs-internal-log. Update help text for wdc-plugin command cap-diag.
Johannes Thumshirn (2):
fabrics: write ctrl_loss_tmo to fabrics device on connect
fabrics: write keep-alive-timeout to fabrics device on connect
Keith Busch (15):
Fix print format specifier for 64-bit
Fix nvme id namespace struct
Regen documentation
Update gitignore for generated test files
Update documentation
Re-gen documentation for new files
wdc: Fix strncpy warning
wdc: Use const string for suffix
nvme: Handle supported capabilities result for get features
list-subsys: Preserve line breaks and spaces
Regen documentation
nvme-cli: Don't print result on passthru error
Update documentation
nvme: Regenerate documentation
nvme: Remove duplicate error message
M. Warner Losh (2):
Initialize line.
Use standard interfaces to get timezone offsets.
Minwoo Im (2):
nvme-cli: fix typo in json_print_list_items
nvme-cli: readme: fix typo in Alpine distro support
Narasimhan V (1):
Use tnvmcap register for creating namespace
Peter Dave Hello (1):
Enable code block syntax highlight in README.md
Ralph Corderoy (1):
Enlarge local char[] so snprintf(3) can't truncate path.
Rami Rosen (2):
nvme-cli: fix a typo
nvme-cli: fix a typo
Sagi Grimberg (13):
fabrics: make some arguments integers
fabrics: don't fail empty discovery log page
nvme: commonize subsystems info in a helper
fabrics: add disconnect-all command
fabrics: support fabrics sq flow control disable
fabrics: use trtype_str when parsing a discovery log entry
nvme: Add TCP transport
fabrics: add tcp port tsas decoding
fabrics: add transport header and data digest
nvme-ioctl: clear rae for discovery log pages
fabrics: pass in number of write queues
fabrics: pass in number of polling queues
fabrics: allow nr_io/write/poll_queues and queue size to discovery
Schremmer, Steven (1):
nvme-cli: netapp plugin handle empty strings
Stefan Wiehler (1):
Makefile: fix bash completion install path
Sushma Kalakota (1):
Added support for virtualization-management command
Tal Shorer (1):
don't execute a command if --dry-run is supplied
Warner Losh (7):
Use sys/ioctl.h to pull in definitions.
Remove unnecessary asm/byteorder.h
Remove unnecessary linux/types.h include.
Include libgen.h for basename prototype.
Include sys/stat.h
nvme-cli: remove endian.h
nvme-cli: fix ioctl argument
Warner.Losh (1):
We don't need to include linux/types.h here.
Yi Zhang (1):
nvme-cli: print "\n" after nvme list-subsys -o json
beomsooo.kim (1):
In json output, if the commands add zero length string, it occur allocation fail & abort (cannot display empty value)
chrono (1):
Added gentoo to README.md
freezer5 (2):
Fix printing of large ANAGRPID values
Fix printing of large ANAGRPID values
jaredeh (1):
timeout option added to ns_create/delete (#440)
lijie (2):
nvme-cli:fix a typo in SELF-TEST log
nvme-cli: fix a typo
puneet kandhari (1):
Remove trailing "\n" so that the output is valid json
Signed-off-by: Keith Busch <keith.busch@intel.com>
Benreese0 [Tue, 8 Jan 2019 22:59:19 +0000 (14:59 -0800)]
nvme: Adding a block size selector to format
Provide format option to allow the user to specify desired block size
and have nvme-cli determine the correct LBAF.
Signed-off-by: Benjamin Reese <benjamin.reese@intel.com>
[changelog, minor formatting, shift lbaf instead of bs, reference id_ns
only if we read it] Signed-off-by: Keith Busch <keith.busch@intel.com>
Sagi Grimberg [Thu, 13 Dec 2018 06:07:49 +0000 (22:07 -0800)]
fabrics: pass in number of write queues
nr_write_queues specifies the number of additional queues that
will be connected. These queues will host write I/O (host to target
payload) while nr_io_queues will host read I/O (target to host payload).
Sagi Grimberg [Thu, 24 May 2018 11:45:30 +0000 (14:45 +0300)]
fabrics: support fabrics sq flow control disable
If the discovery log entry indicates that the subsystem supports
disabling sq flow control, we ask the host to connect and disable sq
flow control (omit sq_head pointer updates). Also add a connect option
to explicitly ask for disable_sqflow.
If we failed to add_ctrl in connect-all command, we retry without it
to be backward compatible with a driver that cannot accept the new
flag.
Hannes Reinecke [Mon, 5 Nov 2018 15:00:36 +0000 (16:00 +0100)]
nvme: fixup ANA group descriptor offset
The ANA group descriptor offset changed between the specification
sent for ratification and the final ratified document, causing the
ANA log page not to be displayed correctly.
Signed-off-by: Hannes Reinecke <hare@suse.com> Reviewed-by: Steve Schremmer <steve.schremmer@netapp.com> Signed-off-by: Keith Busch <keith.busch@intel.com>
Keith Busch [Tue, 30 Oct 2018 14:33:41 +0000 (08:33 -0600)]
nvme: Handle supported capabilities result for get features
When using the supported capabilities for get feature, SEL set to 3,
no data is transfered and the completion result is the controller
capabilities for the requested feature, not the actual feature. Handle
this accordingly.
Keith Busch [Wed, 24 Oct 2018 16:21:56 +0000 (10:21 -0600)]
wdc: Fix strncpy warning
Some compilers were complaining copying from the constant source was
truncating it. The size is supposed to protect the destination buffer,
so this patch uses that size instead.
Signed-off-by: Keith Busch <keith.busch@intel.com>
Warner Losh [Fri, 5 Oct 2018 04:08:01 +0000 (22:08 -0600)]
nvme-cli: fix ioctl argument
The command argument for ioctl is unsigned long, not int. Fix all the
places that we pass cmd through to the ioctl call to handle it as an
unsigned long. This prevents a sign extension bug when IOCTL commands
encode with the top bit set.
M. Warner Losh [Thu, 4 Oct 2018 21:37:17 +0000 (15:37 -0600)]
Use standard interfaces to get timezone offsets.
Use the tm_gmtoff returned from localtime() rather than the global
timezone. The formal is more portable, while the latter is specific
to glibc. There's no good reason to use the glibc specific interface.
Warner Losh [Thu, 4 Oct 2018 05:29:04 +0000 (23:29 -0600)]
Include libgen.h for basename prototype.
Also, convert open_dev to take a char * and remove the cast from where
it's called. basenmae takes a char * and modifies the string. In this
case, such modifications are fine and only the const char * type was
in error.
Warner Losh [Thu, 4 Oct 2018 05:18:38 +0000 (23:18 -0600)]
Use sys/ioctl.h to pull in definitions.
_IO* are part of the ioctl intereface, so use the more portable
sys/ioctl.h to get the definitions. Eliminate all uses of linux/fs.h
that were needed only for this.