<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/nvme/target/core.c, branch linux-5.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.17.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.17.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2022-05-25T07:59:01Z</updated>
<entry>
<title>nvmet: use a private workqueue instead of the system workqueue</title>
<updated>2022-05-25T07:59:01Z</updated>
<author>
<name>Sagi Grimberg</name>
</author>
<published>2022-03-21T11:57:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=84026f8c9357c62a9d3e4c554ffd10ccab813654'/>
<id>urn:sha1:84026f8c9357c62a9d3e4c554ffd10ccab813654</id>
<content type='text'>
[ Upstream commit 8832cf922151e9dfa2821736beb0ae2dd3968b6e ]

Any attempt to flush kernel-global WQs has possibility of deadlock
so we should simply stop using them, instead introduce nvmet_wq
which is the generic nvmet workqueue for work elements that
don't explicitly require a dedicated workqueue (by the mere fact
that they are using the system_wq).

Changes were done using the following replaces:

 - s/schedule_work(/queue_work(nvmet_wq, /g
 - s/schedule_delayed_work(/queue_delayed_work(nvmet_wq, /g
 - s/flush_scheduled_work()/flush_workqueue(nvmet_wq)/g

Reported-by: Tetsuo Handa &lt;penguin-kernel@I-love.SAKURA.ne.jp&gt;
Signed-off-by: Sagi Grimberg &lt;sagi@grimberg.me&gt;
Reviewed-by: Chaitanya Kulkarni &lt;kch@nvidia.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>nvmet: revert "nvmet: make discovery NQN configurable"</title>
<updated>2022-03-15T09:39:26Z</updated>
<author>
<name>Hannes Reinecke</name>
</author>
<published>2022-03-15T09:14:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0c48645a7f3988a624767d025fa3275ae24b6ca1'/>
<id>urn:sha1:0c48645a7f3988a624767d025fa3275ae24b6ca1</id>
<content type='text'>
Revert commit 626851e9225d ("nvmet: make discovery NQN configurable");
the interface was deemed incorrect and will be replaced with a different
one.

Fixes: 626851e9225d ("nvmet: make discovery NQN configurable")
Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>nvmet: register discovery subsystem as 'current'</title>
<updated>2021-10-27T06:06:04Z</updated>
<author>
<name>Hannes Reinecke</name>
</author>
<published>2021-10-18T15:21:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2953b30b1d9feb1bc555682e64e6479d197b9231'/>
<id>urn:sha1:2953b30b1d9feb1bc555682e64e6479d197b9231</id>
<content type='text'>
Register the discovery subsystem as the 'current' discovery subsystem,
and add a new discovery log page entry for it.

Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>nvmet: add nvmet_is_disc_subsys() helper</title>
<updated>2021-10-20T17:16:02Z</updated>
<author>
<name>Hannes Reinecke</name>
</author>
<published>2021-09-22T06:35:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a294711ed5123f757ed8ed2f103c851b8ee416c9'/>
<id>urn:sha1:a294711ed5123f757ed8ed2f103c851b8ee416c9</id>
<content type='text'>
Add a helper function to determine if a given subsystem is a discovery
subsystem.

Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Reviewed-by: Chaitanya Kulkarni &lt;kch@nvidia.com&gt;
Reviewed-by: Himanshu Madhani &lt;himanshu.madhani@oracle.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>nvmet: make discovery NQN configurable</title>
<updated>2021-10-20T17:16:01Z</updated>
<author>
<name>Hannes Reinecke</name>
</author>
<published>2021-09-22T06:35:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=626851e9225df93eda00f6b256cb74ad0860e418'/>
<id>urn:sha1:626851e9225df93eda00f6b256cb74ad0860e418</id>
<content type='text'>
TPAR8013 allows for unique discovery NQNs, so make the discovery
controller NQN configurable by exposing a subsys attribute
'discovery_nqn'.

Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Reviewed-by: Chaitanya Kulkarni &lt;kch@nvidia.com&gt;
Reviewed-by: Himanshu Madhani &lt;himanshu.madhani@oracle.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>nvmet: add get_max_queue_size op for controllers</title>
<updated>2021-10-20T17:16:01Z</updated>
<author>
<name>Max Gurtovoy</name>
</author>
<published>2021-09-22T21:55:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6d1555cc41c088d738b4968009b32aaeda8542a3'/>
<id>urn:sha1:6d1555cc41c088d738b4968009b32aaeda8542a3</id>
<content type='text'>
Some transports, such as RDMA, would like to set the queue size
according to device/port/ctrl characteristics. Add a new nvmet transport
op that is called during ctrl initialization. This will not effect
transports that don't implement this option.

Reviewed-by: Chaitanya Kulkarni &lt;kch@nvidia.com&gt;
Signed-off-by: Max Gurtovoy &lt;mgurtovoy@nvidia.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>nvmet: return bool from nvmet_passthru_ctrl and nvmet_is_passthru_req</title>
<updated>2021-09-06T07:59:03Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2021-08-27T06:11:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ab7a2737ac5acd7d485ca45d8772497717fbc781'/>
<id>urn:sha1:ab7a2737ac5acd7d485ca45d8772497717fbc781</id>
<content type='text'>
The target core code never needs the host-side nvme_ctrl structure.
Open code two uses of nvmet_is_passthru_req in passthru.c, and then
switch the helpers used by the core to return bool.  Also rename the
fuctions to better match their usage:

  nvmet_passthru_ctrl -&gt; nvmet_is_passthru_subsys
  nvmet_req_passthru_ctrl -&gt; nvmet_is_passthru_req

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Sagi Grimberg &lt;sagi@grimberg.me&gt;
</content>
</entry>
<entry>
<title>nvmet: looks at the passthrough controller when initializing CAP</title>
<updated>2021-09-06T07:59:03Z</updated>
<author>
<name>Adam Manzanares</name>
</author>
<published>2021-08-26T21:15:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=77d651a65569a5e60f314b768500e94fcb936311'/>
<id>urn:sha1:77d651a65569a5e60f314b768500e94fcb936311</id>
<content type='text'>
For a passthru controller make cap initialization dependent on the cap of
the passthru controller, given that multiple Command Set support needs
to be supported by the underlying controller.  For that move the
initialization of CAP later so that it can use the fully initialized
nvmet_ctrl structure.

Fixes: ab5d0b38c047 (nvmet: add Command Set Identifier support)
Signed-off-by: Adam Manzanares &lt;a.manzanares@samsung.com&gt;
Reviewed-by: Keith Busch &lt;kbusch@kernel.org&gt;
[hch: refactored the code a bit to keep it more contained in passthru.c]
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>nvmet: avoid duplicate qid in connect cmd</title>
<updated>2021-08-16T12:42:25Z</updated>
<author>
<name>Amit Engel</name>
</author>
<published>2021-08-08T15:06:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b71df12605cabab47d58bd926badaf4130280e4d'/>
<id>urn:sha1:b71df12605cabab47d58bd926badaf4130280e4d</id>
<content type='text'>
According to the NVMe specification, if the host sends a Connect command
specifying a queue id which has already been created, a status value of
NVME_SC_CMD_SEQ_ERROR is returned.

Signed-off-by: Amit Engel &lt;amit.engel@dell.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>Merge tag 'for-5.14/drivers-2021-06-29' of git://git.kernel.dk/linux-block</title>
<updated>2021-06-30T19:21:16Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2021-06-30T19:21:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=440462198d9c45e48f2d8d9b18c5702d92282f46'/>
<id>urn:sha1:440462198d9c45e48f2d8d9b18c5702d92282f46</id>
<content type='text'>
Pull block driver updates from Jens Axboe:
 "Pretty calm round, mostly just NVMe and a bit of MD:

   - NVMe updates (via Christoph)
        - improve the APST configuration algorithm (Alexey Bogoslavsky)
        - look for StorageD3Enable on companion ACPI device
          (Mario Limonciello)
        - allow selecting the network interface for TCP connections
          (Martin Belanger)
        - misc cleanups (Amit Engel, Chaitanya Kulkarni, Colin Ian King,
          Christoph)
        - move the ACPI StorageD3 code to drivers/acpi/ and add quirks
          for certain AMD CPUs (Mario Limonciello)
        - zoned device support for nvmet (Chaitanya Kulkarni)
        - fix the rules for changing the serial number in nvmet
          (Noam Gottlieb)
        - various small fixes and cleanups (Dan Carpenter, JK Kim,
          Chaitanya Kulkarni, Hannes Reinecke, Wesley Sheng, Geert
          Uytterhoeven, Daniel Wagner)

   - MD updates (Via Song)
        - iostats rewrite (Guoqing Jiang)
        - raid5 lock contention optimization (Gal Ofri)

   - Fall through warning fix (Gustavo)

   - Misc fixes (Gustavo, Jiapeng)"

* tag 'for-5.14/drivers-2021-06-29' of git://git.kernel.dk/linux-block: (78 commits)
  nvmet: use NVMET_MAX_NAMESPACES to set nn value
  loop: Fix missing discard support when using LOOP_CONFIGURE
  nvme.h: add missing nvme_lba_range_type endianness annotations
  nvme: remove zeroout memset call for struct
  nvme-pci: remove zeroout memset call for struct
  nvmet: remove zeroout memset call for struct
  nvmet: add ZBD over ZNS backend support
  nvmet: add Command Set Identifier support
  nvmet: add nvmet_req_bio put helper for backends
  nvmet: add req cns error complete helper
  block: export blk_next_bio()
  nvmet: remove local variable
  nvmet: use nvme status value directly
  nvmet: use u32 type for the local variable nsid
  nvmet: use u32 for nvmet_subsys max_nsid
  nvmet: use req-&gt;cmd directly in file-ns fast path
  nvmet: use req-&gt;cmd directly in bdev-ns fast path
  nvmet: make ver stable once connection established
  nvmet: allow mn change if subsys not discovered
  nvmet: make sn stable once connection was established
  ...
</content>
</entry>
</feed>
