Skip to contentSkip to conversation

nvmetcli manpage and misc tweaks

PATCH New Jay Freyensee 3 participants 11 messages Nov 23, 2016 – Jan 6, 2017

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

cover nvmetcli manpage and misc tweaks

Adding proper documentation solution to nvmetcli.

Jay Freyensee (3):
nvmetcli: Adding manpage/html generation
nvmetcli: add python-six to rpm package building
nvmetcli: remove README file

 Documentation/Makefile     |  21 ++++
 Documentation/nvmetcli.txt | 237 +++++++++++++++++++++++++++++++++++++++++++++
 Makefile                   |  15 ++-
 README                     | 173 ---------------------------------
 rpm/nvmetcli.spec.tmpl     |   2 +-
 5 files changed, 272 insertions(+), 176 deletions(-)
 create mode 100644 Documentation/Makefile
 create mode 100644 Documentation/nvmetcli.txt
 delete mode 100644 README
Signature · 1 line
2.7.4
#1 lore raw

PATCH 1/3 nvmetcli: Adding manpage/html generation

Signed-off-by Jay Freyensee <james.p.freyensee at intel.com>
---
 Documentation/Makefile     |  21 ++++
 Documentation/nvmetcli.txt | 237 +++++++++++++++++++++++++++++++++++++++++++++
 Makefile                   |  15 ++-
 3 files changed, 271 insertions(+), 2 deletions(-)
 create mode 100644 Documentation/Makefile
 create mode 100644 Documentation/nvmetcli.txt
Documentation/Makefile new file +21 -0
new file mode 100644
index 0000000..432731a
@@ -0,0 +1,21 @@
+PKGNAME = nvmetcli
+MANPAGE = ${PKGNAME}.1
+HTMLFILE = ${PKGNAME}.html
+XMLFILE = ${PKGNAME}.xml
+
+ASCIIDOC = asciidoc
+XMLTO = xmlto --skip-validation
+
+DOCDATA = ${XMLFILE} ${HTMLFILE}
+ 
+${MANPAGE}: ${DOCDATA}
+	${XMLTO} man $<
+ 
+%.xml: %.txt
+	${ASCIIDOC} -b docbook -d manpage -o $@ $<
+ 
+%.html: %.txt
+	${ASCIIDOC} -a toc -o $@ $<
+ 
+clean:
+	-rm -f ${MANPAGE} ${HTMLFILE} ${XMLFILE}
Documentation/nvmetcli.txt new file +237 -0

237 lines not on this page · raw message

Makefile +13 -2
index a8dc916..10faa4e 100644
@@ -2,6 +2,7 @@ PKGNAME = nvmetcli
 NAME = nvmet
 GIT_BRANCH = $$(git branch | grep \* | tr -d \*)
 VERSION = $$(basename $$(git describe --tags | tr - . | sed 's/^v//'))
+DOCDIR = ./Documentation
 
 all:
 	@echo "Usage:"
@@ -9,13 +10,23 @@ all:
 	@echo "  make deb         - Builds debian packages."
 	@echo "  make rpm         - Builds rpm packages."
 	@echo "  make release     - Generates the release tarball."
+	@echo "  make doc         - Builds manpages & html docs in ${DOCDIR}."
 	@echo
 	@echo "  make clean       - Cleanup the local repository build files."
-	@echo "  make cleanall    - Also remove dist/*"
+	@echo "  make cleandoc    - Cleanup auto-generated docs in ${DOCDIR}."
+	@echo "  make cleanall    - Remove dist/*, build files, auto-gen docs."
 
 test:
 	@nose2 -C --coverage ./nvmet
 
+doc: ${NAME}
+	${MAKE} -C ${DOCDIR}
+
+cleandoc:
+	@rm -f ${DOCDIR}/${PKGNAME}.1
+	@rm -f ${DOCDIR}/${PKGNAME}.html
+	@rm -f ${DOCDIR}/${PKGNAME}.xml
+	
 clean:
 	@rm -fv ${NAME}/*.pyc ${NAME}/*.html
 	@rm -frv doc
@@ -25,7 +36,7 @@ clean:
 	@rm -frv ${PKGNAME}-*
 	@echo "Finished cleanup."
 
-cleanall: clean
+cleanall: clean cleandoc
 	@rm -frv dist
 
 release: build/release-stamp
Signature · 1 line
2.7.4
#2 lore raw

PATCH 1/3 nvmetcli: Adding manpage/html generation

Hi Jay,

thanks a lot for writing this man page! I have a few comments below, but otherwise this looks really great.

Documentation/nvmetcli.txt line 6

Quoted 3 lines
Documentation/nvmetcli.txt new file +3 -0
+NAME
+----
+nvmetcli - Configure NVMe Target for NVMe-over-Fabrics solution.

I'd just say "Configure the NVMe-over-Fabrics Target".

Documentation/nvmetcli.txt line 12

Quoted 3 lines

+[verse]

Documentation/nvmetcli.txt new file +2 -0
+nvmetcli
+nvmetcli [cmd] [file]

Should we just list the three actual command here?

Documentation/nvmetcli.txt line 16

Quoted 3 lines
Documentation/nvmetcli.txt new file +3 -0
+DESCRIPTION
+-----------
+*nvmetcli* is a python-based program used for viewing, editing, saving,

I'd drop python here - that's an implementation detail not interesting to the actual user reading the man page.

Documentation/nvmetcli.txt line 21

Quoted 4 lines

It enables an administrator to assign local

Documentation/nvmetcli.txt new file +3 -0
+storage resources backed by either local NVMe devices, OS files, or
+system volumes and export them to remote systems via network fabrics
+based on the NVMe-over-Fabrics specification from http://www.nvmexpress.org.

I'd something like "It allows to export a local block device (including, but not limited to a NVMe devices).." We can't really export files directly but need to turn them into a block device first using the loop device, and NVMe devices aren't really treated special, although they are of course worse mentioning.

Documentation/nvmetcli.txt line 29

Quoted 2 lines
Documentation/nvmetcli.txt new file +2 -0
+nvmetcli manages only one NVMe Target as there is only one Linux kernel
+NVMe Target per system.

Can we just remove this sentence? As per the spec there is no such thing as a NVMe Target (unfortunately, bit out my teeth on that), but just a collection of subsystems and ports - with nvmetcli we can create sets of subsystems and ports that are entirelt disjoint.

Quoted 3 lines
+|==================
+| cd                    | Same as Linux, allows to move around the tree. 
+| ls                    | Similar as Linux, lists contents of current tree node.

Can we drop the "Same as" and "Similar as"? It's really traditional Unix shells that we are similar too, but that wording seems a bit clumsy.

Documentation/nvmetcli.txt line 222

Quoted 4 lines
Documentation/nvmetcli.txt new file +4 -0
+ADDITIONAL INFORMATION
+----------------------
+nvmetcli has the ability to start and stop the NVMe Target configuration
+on boot and shutdown through the *systemctl* Linux utility via a .service file.

It might be good to mention the actual service, e.g.

nvmetcli ships with a nvmet systemd service file, which automatically restores the saved config from /etc/nvme/nvmet.json on system startup, and clears the configuration on shutdown. You can uses systemctl (and we probably want a man page reference to systemctl here, no idea how to do that in asciidoc) to enable and disable this functionality.

Documentation/nvmetcli.txt line 227

Quoted 5 lines
Documentation/nvmetcli.txt new file +5 -0
+
+AUTHORS
+-------
+This was written by mailto:james.p.freyensee at intel.com[Jay Freyensee]
+for mailto:hch at infradead.org[Christoph Hellwig].

If at all I'd word this as

This man page was written by mailto:james.p.freyensee at intel.com[Jay Freyensee]. nvmetcli was originall written by mailto:hch at infradead.org[Christoph Hellwig].

But I'd be personallly fine with just dropping all this from the man page and instead have an AUTHORS file. Any suggestions from someone else?

Documentation/nvmetcli.txt line 231

Quoted 4 lines
Documentation/nvmetcli.txt new file +4 -0
+
+REPORTING BUGS & DEVELOPMENT
+-----------------------------
+Please send patches to linux-nvme at lists.infradead.org for review and acceptance.

Might be worth to also mention bug reports here.

Makefile all: · line 28

Quoted 7 lines
Makefile +7 -0
+doc: ${NAME}
+	${MAKE} -C ${DOCDIR}
+
+cleandoc:
+	@rm -f ${DOCDIR}/${PKGNAME}.1
+	@rm -f ${DOCDIR}/${PKGNAME}.html
+	@rm -f ${DOCDIR}/${PKGNAME}.xml

Should this be ${MAKE} -C ${DOCDIR} clean?

Also I suspect this should be a .8 page, not .1 given that we install into sbin.

#3 lore raw

PATCH 1/3 nvmetcli: Adding manpage/html generation

Quoted 4 lines · Christoph Hellwig

Hi Jay,

thanks a lot for writing this man page!??I have a few comments below, but otherwise this looks really great.

No problem, thanks for the compliment :-).

Quoted 7 lines

Documentation/nvmetcli.txt line 6

Quoted 5 lines
Documentation/nvmetcli.txt new file +3 -0
+NAME
+----
+nvmetcli - Configure NVMe Target for NVMe-over-Fabrics solution.

I'd just say "Configure the NVMe-over-Fabrics Target".

Will do.

Quoted 7 lines

Documentation/nvmetcli.txt line 12

Quoted 5 lines

+[verse]

Documentation/nvmetcli.txt new file +2 -0
+nvmetcli
+nvmetcli [cmd] [file]

Should we just list the three actual command here?

You mean just list out all the "nvmetcli [cmd] [file]" commands (nvmetcli restore [file], nvmetcli clear [file])?

Quoted 10 lines
Quoted 6 lines
Documentation/nvmetcli.txt new file +3 -0
+DESCRIPTION
+-----------
+*nvmetcli* is a python-based program used for viewing, editing,

saving,

I'd drop python here - that's an implementation detail not interesting
to the actual user reading the man page.

No problem.

Quoted 18 lines
Quoted 10 lines

It enables an administrator to assign local
+storage resources backed by either local NVMe devices, OS files, or
+system volumes and export them to remote systems via network fabrics
+based on the NVMe-over-Fabrics specification from http://www.nvmex
press.org.

I'd something like "It allows to export a local block device (including,
but not limited to a NVMe devices).."??We can't really export files directly but need to turn them into a block device first using the loop
device, and NVMe devices aren't really treated special, although they are of course worse mentioning.

OK, I'll give it a stab to tweak and add that comment.

Quoted 7 lines
Quoted 5 lines

+nvmetcli manages only one NVMe Target as there is only one Linux kernel
+NVMe Target per system.

Can we just remove this sentence???

Sure.

Quoted 9 lines
Quoted 5 lines

+|==================
+| cd????????????????????| Same as Linux, allows to move around the tree.?
+| ls????????????????????| Similar as Linux, lists contents of current tree node.

Can we drop the "Same as" and "Similar as"???It's really traditional Unix shells that we are similar too, but that wording seems a bit clumsy.

Sure, no problem.

Quoted 11 lines
Quoted 8 lines
Documentation/nvmetcli.txt new file +3 -0
+ADDITIONAL INFORMATION
+----------------------
+nvmetcli has the ability to start and stop the NVMe Target

configuration
+on boot and shutdown through the *systemctl* Linux utility via a .service file.

It might be good to mention the actual service, e.g.

Quoted 3 lines

nvmetcli ships with a nvmet systemd service file, which automatically restores the saved config from /etc/nvme/nvmet.json on system startup,

Yah, I've played with the nvmet systemd service file, I can mention that.

Quoted 5 lines

and clears the configuration on shutdown.??You can uses systemctl (and we
probably want a man page reference to systemctl here, no idea how to do
that in asciidoc) to enable and disable this functionality.

I can explicitly state the commands:

systemctl enable nvmet
systemctl disable nvmet

into this section...not sure how I'd add a man page reference to systemctl, I'm not an asciidoc power user.

Quoted 11 lines
Quoted 8 lines
Documentation/nvmetcli.txt new file +4 -0
+
+AUTHORS
+-------
+This was written by mailto:james.p.freyensee at intel.com[Jay

Freyensee]
+for mailto:hch at infradead.org[Christoph Hellwig].

If at all I'd word this as

Quoted 5 lines

This man page was written by mailto:james.p.freyensee at intel.com[Jay Freyensee].
nvmetcli was originall written by mailto:hch at infradead.org[Christoph Hellwig].

I can just do this. ?I don't mind mentioning I authored the man page, but I don't want to take credit that is yours.

Quoted 7 lines
Quoted 5 lines
Documentation/nvmetcli.txt new file +4 -0
+
+REPORTING BUGS & DEVELOPMENT
+-----------------------------
+Please send patches to linux-nvme at lists.infradead.org for review

and acceptance.

Might be worth to also mention bug reports here.

OK, I can tweak it.

Quoted 12 lines

Makefile all: · line 28

Quoted 9 lines
Makefile +7 -0
+doc: ${NAME}
+	${MAKE} -C ${DOCDIR}
+
+cleandoc:
+	@rm -f ${DOCDIR}/${PKGNAME}.1
+	@rm -f ${DOCDIR}/${PKGNAME}.html
+	@rm -f ${DOCDIR}/${PKGNAME}.xml

Should this be ${MAKE} -C ${DOCDIR} clean?

Maybe :-P. ?I'll look into it.

Quoted 2 lines

Also I suspect this should be a .8 page, not .1 given that we install into sbin.

Can change, no problem.

#4 lore raw

PATCH 1/3 nvmetcli: Adding manpage/html generation

In reply to Christoph Hellwig
Quoted 4 lines · Christoph Hellwig

Hi Jay,

thanks a lot for writing this man page! I have a few comments below, but otherwise this looks really great.

Hi, do you mind tagging this into a release?

Thanks -- Andy

#5 lore raw

PATCH 1/3 nvmetcli: Adding manpage/html generation

Quoted 8 lines · Andy Grover
Quoted 5 lines · Christoph Hellwig

Hi Jay,

thanks a lot for writing this man page!??I have a few comments below, but otherwise this looks really great.

Hi, do you mind tagging this into a release?

Love too, but I think Christoph has the only power :-)

Quoted 8 lines

Thanks -- Andy

_______________________________________________
Linux-nvme mailing list
Linux-nvme at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

#6 lore raw

PATCH 1/3 nvmetcli: Adding manpage/html generation

In reply to Andy Grover
Quoted 7 lines · Andy Grover
Quoted 4 lines · Christoph Hellwig

Hi Jay,

thanks a lot for writing this man page! I have a few comments below, but otherwise this looks really great.

Hi, do you mind tagging this into a release?

Will do next week, just need to finish my work to automate the release cutting.

#7 lore raw

PATCH 2/3 nvmetcli: add python-six to rpm package building

In reply to Jay Freyensee
Quoted 1 line

From experience, if python-six isn't installed on a Fedora

system, hard-to-decipher errors can occur trying to use nvmetcli.

Signed-off-by Jay Freyensee <james.p.freyensee at intel.com>
---
 rpm/nvmetcli.spec.tmpl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
rpm/nvmetcli.spec.tmpl +1 -1
index 03667d7..1ffdbe6 100644
@@ -9,7 +9,7 @@ Source:         nvmetcli-%{version}.tar.gz
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-rpmroot
 BuildArch:      noarch
 BuildRequires:  python-devel python-setuptools systemd-units
-Requires:	python-configshell python-kmod
+Requires:	python-configshell python-kmod python-six
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
Signature · 1 line
2.7.4
#8 lore raw

PATCH 3/3 nvmetcli: remove README file

In reply to Jay Freyensee

Contents of README have been moved and updated into the manpage/html solution.

Signed-off-by Jay Freyensee <james.p.freyensee at intel.com>
---
 README | 173 -----------------------------------------------------------------
 1 file changed, 173 deletions(-)
 delete mode 100644 README
README deleted +0 -173
deleted file mode 100644
index 4c44b39..0000000
@@ -1,173 +0,0 @@
-nvmetcli
-========
-This contains the NVMe target admin tool "nvmetcli".  It can either be
-used interactively by invoking it without arguments, or it can be used
-to save, restore or clear the current NVMe target configuration.
-
-Installation
-------------
-Please install the configshell-fb package from
-https://github.com/agrover/configshell-fb first.
-
-nvmetcli can be run directly from the source directory or installed
-using setup.py.
-
-Common Package Dependencies and Problems
------------------------------------------
-nvmetcli uses the 'python-six' and 'pyparsing' packages
-(running nvmetcli without these packages may produce
-hard-to-decipher errors).
-
-Walk-Through Example Usage
----------------------------
-Make sure to run nvmetcli as root, the nvmet module is loaded,
-your devices are loaded, and configfs is mounted on /sys/kernel/config
-using:
-
-	mount -t configs none /sys/kernel/config
-
-To get started with the interactive mode and the nvmetcli command prompt,
-type (in root):
-
-./nvmetcli
-...>
-
-The following walks through an example using interactive mode.
-
-# 
-# Create a subsystem.  If you do not specify a name a NQN will be generated,
-# which is probably the best choice, we we don't do it here as the name
-# would be random
-#
-
-> cd /subsystems
-...> create testnqn
-
-#
-# Add access for a specific NVMe Host by it's NQN:
-#
-
-...> cd /hosts
-...> create hostnqn
-...> cd /subsystems/testnqn/allowed_hosts/
-...> create hostnqn
-
-#
-# remove access of a subsystem by deleting the Host NQN
-#
-
-...> cd /subsystems/testnqn/allowed_hosts/
-...> delete hostnqn
-
-#
-# Alternatively this allows any host to connect to the subsystsem.  Only
-# use this in tightly controller environments:
-#
-
-...> cd /subsystems/testnqn/
-...> set attr allow_any_host=1
-
-#
-# Create a new namespace.  If you do not specify a namespace ID the fist
-# unused one will be used.
-#
-
-...> cd /subsystems/testnqn/namespaces
-...> create 1
-...> cd 1
-...> set device path=/dev/nvme0n1
-...> enable
-
-# Note that in the above setup the 'device_nguid' attribute
-# does not have to be set for correct NVMe Target functionality.
-
-#
-# Create a port through which access is allowed, and enable access to
-# a subsystem through it.
-#
-# This creates a trivial loopback port that can be used with nvme-loop on
-# the same machine:
-#
-
-...> cd /ports/
-...> create 1
-...> cd 1/
-...> set addr trtype=loop
-...> cd subsystems/
-...> create testnqn
-
-#
-# Or create a RDMA (IB, RoCE, iWarp) port using IPv4 addressing, 4420 is the
-# IANA assigned port for NVMe over Fabrics using RDMA:
-#
-
-...> cd /ports/
-...> create 2
-...> cd 2/
-...> set addr trtype=rdma
-...> set addr adrfam=ipv4
-...> set addr traddr=192.168.6.68
-...> set addr trsvcid=4420
-...> cd subsystems/
-...> create testnqn
-
-Discovery
-----------
-Each NVMe Target has a discovery controller mechanism that an NVMe
-Host can use to determine the NVM subsystems it has access too.
-nvmetcli can be used to add a new record to the discovery controller
-upon each new subsystem entry and port entry that the newly
-created subsystem entry binds too (see the '/port/' and
-'/subystem/' nvmetcli walk-through earlier in this README).  Each NVMe
-Host only gets to see the discovery entries defined in
-/subsystems/[NQN NAME]/allowed_hosts and the IP port it is connected
-to the NVMe Target.
-
-A Host can retrieve these discovery logs via the nvme-cli tool
-(https://github.com/linux-nvme/nvme-cli).
-
-Referrals
----------
-TBD
-
-Saving and restoring the configuration
---------------------------------------
-The saveconfig command in the interactive
-nvmetcli mode saves the current configuration.  For example,
-
-./nvmetcli
-...> saveconfig test.json
-
-You can also invoke a 'save' command, as well as a 'restore'
-and 'clear' command on the Linux command line.  For example,
-
-(to load an NVMe Target configuration):
-  ./nvmetcli restore test.json
-
-(to clear a current NVMe Target configuration):
-  ./nvmetcli clear test.json
-
-Without an additional file name these operate on /etc/nvmet/config.json.
-
-Example NVMe Target .json files
---------------------------------------
-To load the loop + explicit host version above do the following:
-
-  ./nvmetcli restore loop.json
-
-Or to load the rdma + no host authentication version do the following
-after you've ensured that the IP address in rdma.json fits your setup:
-
-  ./nvmetcli restore rdma.json
-
-These files can also be edited directly using your favorite editor.
-
-Testing
--------
-nvmetcli comes with a testsuite that tests itself and the kernel configfs
-interface for the NVMe target.  To run it make sure you have nose2 and
-the coverage plugin for it installed and simple run 'make test'.
-
-Development
------------------
-Please send to linux-nvme at lists.infradead.org for review and acceptance.
Signature · 1 line
2.7.4
#9 lore raw

PATCH 3/3 nvmetcli: remove README file

Quoted 2 lines · Jay Freyensee

Contents of README have been moved and updated into the manpage/html solution.

I still think that a basic README is useful, including pointing people to the manpage, and for build instruction in case we add any.

Quoted 12 lines
README deleted +0 -9
@@ -1,173 +0,0 @@
-nvmetcli
-========
-This contains the NVMe target admin tool "nvmetcli".  It can either be
-used interactively by invoking it without arguments, or it can be used
-to save, restore or clear the current NVMe target configuration.
-
-Installation
-------------
-Please install the configshell-fb package from

README line 19

Quoted 10 lines
README deleted +0 -10
-https://github.com/agrover/configshell-fb first.
-
-nvmetcli can be run directly from the source directory or installed
-using setup.py.
-
-Common Package Dependencies and Problems
------------------------------------------
-nvmetcli uses the 'python-six' and 'pyparsing' packages
-(running nvmetcli without these packages may produce
-hard-to-decipher errors).

E.g. keep everything up to here, then add a reference to nvmetcli.txt after that.

And keep the rest quotes below this text as well,

Quoted 24 lines
README deleted +0 -22
-Example NVMe Target .json files
---------------------------------------
-To load the loop + explicit host version above do the following:
-
-  ./nvmetcli restore loop.json
-
-Or to load the rdma + no host authentication version do the following
-after you've ensured that the IP address in rdma.json fits your setup:
-
-  ./nvmetcli restore rdma.json
-
-These files can also be edited directly using your favorite editor.
-
-Testing
--------
-nvmetcli comes with a testsuite that tests itself and the kernel configfs
-interface for the NVMe target.  To run it make sure you have nose2 and
-the coverage plugin for it installed and simple run 'make test'.
-
-Development
------------------
-Please send to linux-nvme at lists.infradead.org for review and acceptance.
Signature · 1 line
2.7.4

---end quoted text---

#10 lore raw

PATCH 3/3 nvmetcli: remove README file

Quoted 9 lines · Christoph Hellwig
Quoted 3 lines · Jay Freyensee

Contents of README have been moved and updated into the manpage/html solution.

I still think that a basic README is useful, including pointing people
to the manpage, and for build instruction in case we add any.

OK, I can re-send the patch series and not touch the README.

Quoted 72 lines
Quoted 21 lines
README deleted +0 -3
@@ -1,173 +0,0 @@
-nvmetcli
-========
-This contains the NVMe target admin tool "nvmetcli".??It can

either be
-used interactively by invoking it without arguments, or it can be used

README deleted +0 -8
-to save, restore or clear the current NVMe target configuration.
-
-Installation
-------------
-Please install the configshell-fb package from
-https://github.com/agrover/configshell-fb first.
-
-nvmetcli can be run directly from the source directory or

installed

README line 19

Quoted 7 lines
README deleted +0 -7
-using setup.py.
-
-Common Package Dependencies and Problems
------------------------------------------
-nvmetcli uses the 'python-six' and 'pyparsing' packages
-(running nvmetcli without these packages may produce
-hard-to-decipher errors).

E.g. keep everything up to here, then add a reference to nvmetcli.txt after that.

And keep the rest quotes below this text as well,

Quoted 28 lines
README deleted +0 -7
-Example NVMe Target .json files
---------------------------------------
-To load the loop + explicit host version above do the following:
-
-??./nvmetcli restore loop.json
-
-Or to load the rdma + no host authentication version do the

following
-after you've ensured that the IP address in rdma.json fits your setup:

README deleted +0 -4
-
-??./nvmetcli restore rdma.json
-
-These files can also be edited directly using your favorite

editor.

README deleted +0 -4
-
-Testing
--------
-nvmetcli comes with a testsuite that tests itself and the kernel

configfs
-interface for the NVMe target.??To run it make sure you have nose2 and

README deleted +0 -5
-the coverage plugin for it installed and simple run 'make test'.
-
-Development
------------------
-Please send to linux-nvme at lists.infradead.org for review and
Quoted 3 lines

acceptance.
--?
2.7.4

---end quoted text---

_______________________________________________
Linux-nvme mailing list
Linux-nvme at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme