* [GIT PULL] nvme updates for Linux 4.15
@ 2017-11-10 14:34 Christoph Hellwig
2017-11-10 15:18 ` Jens Axboe
0 siblings, 1 reply; 12+ messages in thread
From: Christoph Hellwig @ 2017-11-10 14:34 UTC (permalink / raw)
To: Jens Axboe; +Cc: Keith Busch, linux-block, Sagi Grimberg, linux-nvme
Hi Jens,
another round of NVMe updates for 4.15.
The biggest items are:
- native multipath support (me + Hannes)
- userspace notifications for AENs (Keith)
- obey the command effects log page (Keith)
in addition to that lots of fixes from a wide variety of people.
The following changes since commit 7d1dff993252366cc5e21e07b80072d323628363:
blktrace: fix unlocked registration of tracepoints (2017-11-07 09:42:10 -0700)
are available in the git repository at:
git://git.infradead.org/nvme.git nvme-4.15
for you to fetch changes up to b119d90862842a055ff78ca54953d430da314808:
nvme: expose subsys attribute to sysfs (2017-11-10 12:16:19 +0100)
----------------------------------------------------------------
Christoph Hellwig (14):
nvme: move the dying queue check from cancel to completion
nvme: always unregister the integrity profile in __nvme_revalidate_disk
nvme: don't pass struct nvme_ns to nvme_init_integrity
nvme: don't pass struct nvme_ns to nvme_config_discard
nvme: set the chunk size before freezing the queue
nvme: split __nvme_revalidate_disk
nvme: fix and clarify the check for missing metadata
nvmet: better data length validation
nvmet: kill nvmet_inline_bio_init
nvme: track subsystems
nvme: introduce a nvme_ns_ids structure
nvme: track shared namespaces
nvme: implement multipath access to nvme subsystems
nvme: also expose the namespace identification sysfs files for mpath nodes
Hannes Reinecke (3):
block: create 'slaves' and 'holders' entries for hidden gendisks
nvme: create 'slaves' and 'holders' entries for hidden controllers
nvme: expose subsys attribute to sysfs
Israel Rukshin (1):
nvmet-rdma: update queue list during ib_device removal
James Smart (3):
nvme-fc: fix localport resume using stale values
nvme-fc: decouple ns references from lldd references
lpfc: tie in to new dev_loss_tmo interface in nvme transport
Javier Gonz�lez (2):
nvme: compare NQN string with right size
nvme: fix eui_show() print format
Keith Busch (7):
nvme: factor get log into a helper
nvme: check admin passthru command effects
nvme: centralize AEN defines
nvme-fc: remove unused "queue_size" field
nvme: remove handling of multiple AEN requests
nvme: unexport starting async event work
nvme: send uevent for some asynchronous events
Max Gurtovoy (1):
nvme-rdma: fix nvme_rdma_create_queue_ib error flow
Ming Lei (1):
nvme-pci: avoid dereference of symbol from unloaded module
Minwoo Im (1):
nvmet: fix comment typos in admin-cmd.c
Sagi Grimberg (2):
nvmet: remove redundant memset if failed to get_smart_log failed
nvmet: remove redundant local variable
block/genhd.c | 14 +-
drivers/nvme/host/Kconfig | 9 +
drivers/nvme/host/Makefile | 1 +
drivers/nvme/host/core.c | 1050 ++++++++++++++++++++++++++++++---------
drivers/nvme/host/fabrics.c | 4 +-
drivers/nvme/host/fc.c | 143 ++++--
drivers/nvme/host/lightnvm.c | 14 +-
drivers/nvme/host/multipath.c | 291 +++++++++++
drivers/nvme/host/nvme.h | 138 ++++-
drivers/nvme/host/pci.c | 21 +-
drivers/nvme/host/rdma.c | 21 +-
drivers/nvme/target/admin-cmd.c | 21 +-
drivers/nvme/target/core.c | 10 +
drivers/nvme/target/fc.c | 32 +-
drivers/nvme/target/io-cmd.c | 18 +-
drivers/nvme/target/loop.c | 19 +-
drivers/nvme/target/nvmet.h | 4 +
drivers/nvme/target/rdma.c | 16 +-
drivers/scsi/lpfc/lpfc_attr.c | 5 +
include/linux/nvme.h | 30 ++
20 files changed, 1456 insertions(+), 405 deletions(-)
create mode 100644 drivers/nvme/host/multipath.c
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [GIT PULL] nvme updates for Linux 4.15
2017-11-10 14:34 [GIT PULL] nvme updates for Linux 4.15 Christoph Hellwig
@ 2017-11-10 15:18 ` Jens Axboe
2017-11-10 15:22 ` Jens Axboe
0 siblings, 1 reply; 12+ messages in thread
From: Jens Axboe @ 2017-11-10 15:18 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: Keith Busch, linux-block, Sagi Grimberg, linux-nvme
On 11/10/2017 07:34 AM, Christoph Hellwig wrote:
> Hi Jens,
>
> another round of NVMe updates for 4.15.
>
> The biggest items are:
>
> - native multipath support (me + Hannes)
> - userspace notifications for AENs (Keith)
> - obey the command effects log page (Keith)
>
> in addition to that lots of fixes from a wide variety of people.
Pulled. It had two conflicts with master, but both pretty trivial.
--
Jens Axboe
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [GIT PULL] nvme updates for Linux 4.15
2017-11-10 15:18 ` Jens Axboe
@ 2017-11-10 15:22 ` Jens Axboe
2017-11-10 17:22 ` Christoph Hellwig
0 siblings, 1 reply; 12+ messages in thread
From: Jens Axboe @ 2017-11-10 15:22 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: Keith Busch, linux-block, Sagi Grimberg, linux-nvme
On 11/10/2017 08:18 AM, Jens Axboe wrote:
> On 11/10/2017 07:34 AM, Christoph Hellwig wrote:
>> Hi Jens,
>>
>> another round of NVMe updates for 4.15.
>>
>> The biggest items are:
>>
>> - native multipath support (me + Hannes)
>> - userspace notifications for AENs (Keith)
>> - obey the command effects log page (Keith)
>>
>> in addition to that lots of fixes from a wide variety of people.
>
> Pulled. It had two conflicts with master, but both pretty trivial.
Actually, double checking, one of them is a little suspicious:
if (a == &dev_attr_uuid.attr) {
<<<<<<< HEAD
if (uuid_is_null(&ns->uuid) &&
!memchr_inv(ns->nguid, 0, sizeof(ns->nguid)))
=======
if (uuid_is_null(&ids->uuid) ||
!memchr_inv(ids->nguid, 0, sizeof(ids->nguid)))
>>>>>>> 34a9690712aa386fb5fa9e3b8fb44a22f5f2aec6
return 0;
}
with the previous copy using is_null && memchr_inv, the change to ids
makes it an OR instead. I'm going with the latter, but thought I'd bring
it up.
--
Jens Axboe
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [GIT PULL] nvme updates for Linux 4.15
2017-11-10 15:22 ` Jens Axboe
@ 2017-11-10 17:22 ` Christoph Hellwig
2017-11-10 17:27 ` Jens Axboe
0 siblings, 1 reply; 12+ messages in thread
From: Christoph Hellwig @ 2017-11-10 17:22 UTC (permalink / raw)
To: Jens Axboe
Cc: Christoph Hellwig, Keith Busch, linux-block, Sagi Grimberg,
linux-nvme
On Fri, Nov 10, 2017 at 08:22:32AM -0700, Jens Axboe wrote:
> Actually, double checking, one of them is a little suspicious:
>
> if (a == &dev_attr_uuid.attr) {
> <<<<<<< HEAD
> if (uuid_is_null(&ns->uuid) &&
> !memchr_inv(ns->nguid, 0, sizeof(ns->nguid)))
> =======
> if (uuid_is_null(&ids->uuid) ||
> !memchr_inv(ids->nguid, 0, sizeof(ids->nguid)))
> >>>>>>> 34a9690712aa386fb5fa9e3b8fb44a22f5f2aec6
> return 0;
> }
>
> with the previous copy using is_null && memchr_inv, the change to ids
> makes it an OR instead. I'm going with the latter, but thought I'd bring
> it up.
The && from master is the right one, it comes from:
ommit 007a61ae2f35c7fcf767313285c4924e81f11983
Author: Martin Wilck <mwilck@suse.com>
Date: Thu Sep 28 21:33:23 2017 +0200
nvme: fix visibility of "uuid" ns attribute
and needs to be logically applied to the new code as well.
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [GIT PULL] nvme updates for Linux 4.15
2017-11-10 17:22 ` Christoph Hellwig
@ 2017-11-10 17:27 ` Jens Axboe
2017-11-10 17:33 ` Christoph Hellwig
0 siblings, 1 reply; 12+ messages in thread
From: Jens Axboe @ 2017-11-10 17:27 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: Keith Busch, linux-block, Sagi Grimberg, linux-nvme
On 11/10/2017 10:22 AM, Christoph Hellwig wrote:
> On Fri, Nov 10, 2017 at 08:22:32AM -0700, Jens Axboe wrote:
>> Actually, double checking, one of them is a little suspicious:
>>
>> if (a == &dev_attr_uuid.attr) {
>> <<<<<<< HEAD
>> if (uuid_is_null(&ns->uuid) &&
>> !memchr_inv(ns->nguid, 0, sizeof(ns->nguid)))
>> =======
>> if (uuid_is_null(&ids->uuid) ||
>> !memchr_inv(ids->nguid, 0, sizeof(ids->nguid)))
>>>>>>>>> 34a9690712aa386fb5fa9e3b8fb44a22f5f2aec6
>> return 0;
>> }
>>
>> with the previous copy using is_null && memchr_inv, the change to ids
>> makes it an OR instead. I'm going with the latter, but thought I'd bring
>> it up.
>
> The && from master is the right one, it comes from:
>
> ommit 007a61ae2f35c7fcf767313285c4924e81f11983
> Author: Martin Wilck <mwilck@suse.com>
> Date: Thu Sep 28 21:33:23 2017 +0200
>
> nvme: fix visibility of "uuid" ns attribute
>
> and needs to be logically applied to the new code as well.
That makes for a bit of an awkward merge, why wasn't this fixed up
in your tree?
In any case, I just fixed it up in my for-next.
--
Jens Axboe
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [GIT PULL] nvme updates for Linux 4.15
2017-11-10 17:27 ` Jens Axboe
@ 2017-11-10 17:33 ` Christoph Hellwig
2017-11-10 17:38 ` Jens Axboe
0 siblings, 1 reply; 12+ messages in thread
From: Christoph Hellwig @ 2017-11-10 17:33 UTC (permalink / raw)
To: Jens Axboe
Cc: Christoph Hellwig, Keith Busch, linux-block, Sagi Grimberg,
linux-nvme
On Fri, Nov 10, 2017 at 10:27:24AM -0700, Jens Axboe wrote:
> That makes for a bit of an awkward merge, why wasn't this fixed up
> in your tree?
Because you asked me to always base on for-4.15/block last time?
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [GIT PULL] nvme updates for Linux 4.15
2017-11-10 17:33 ` Christoph Hellwig
@ 2017-11-10 17:38 ` Jens Axboe
2017-11-10 17:39 ` Jens Axboe
0 siblings, 1 reply; 12+ messages in thread
From: Jens Axboe @ 2017-11-10 17:38 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: Keith Busch, linux-block, Sagi Grimberg, linux-nvme
On 11/10/2017 10:33 AM, Christoph Hellwig wrote:
> On Fri, Nov 10, 2017 at 10:27:24AM -0700, Jens Axboe wrote:
>> That makes for a bit of an awkward merge, why wasn't this fixed up
>> in your tree?
>
> Because you asked me to always base on for-4.15/block last time?
That's not what I meant. It's conflicting because of a patch, that's
fine. But the code in your tree is:
if (a == &dev_attr_uuid.attr) {
if (uuid_is_null(&ids->uuid) ||
!memchr_inv(ids->nguid, 0, sizeof(ids->nguid)))
return 0;
}
and you're saying the right resolution is:
if (a == &dev_attr_uuid.attr) {
if (uuid_is_null(&ids->uuid) ||
!memchr_inv(ids->nguid, 0, sizeof(ids->nguid)))
return 0;
}
My point is that this should have been fixed up in your tree. Yes, it'd
still cause a conflict, that's fine, but at least the merge would not
end up also containing a fix for the above code. That part is not
logical.
--
Jens Axboe
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [GIT PULL] nvme updates for Linux 4.15
2017-11-10 17:38 ` Jens Axboe
@ 2017-11-10 17:39 ` Jens Axboe
2017-11-11 8:43 ` Christoph Hellwig
0 siblings, 1 reply; 12+ messages in thread
From: Jens Axboe @ 2017-11-10 17:39 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: Keith Busch, linux-block, Sagi Grimberg, linux-nvme
On 11/10/2017 10:38 AM, Jens Axboe wrote:
> On 11/10/2017 10:33 AM, Christoph Hellwig wrote:
>> On Fri, Nov 10, 2017 at 10:27:24AM -0700, Jens Axboe wrote:
>>> That makes for a bit of an awkward merge, why wasn't this fixed up
>>> in your tree?
>>
>> Because you asked me to always base on for-4.15/block last time?
>
> That's not what I meant. It's conflicting because of a patch, that's
> fine. But the code in your tree is:
>
> if (a == &dev_attr_uuid.attr) {
> if (uuid_is_null(&ids->uuid) ||
> !memchr_inv(ids->nguid, 0, sizeof(ids->nguid)))
> return 0;
> }
>
> and you're saying the right resolution is:
>
> if (a == &dev_attr_uuid.attr) {
> if (uuid_is_null(&ids->uuid) ||
> !memchr_inv(ids->nguid, 0, sizeof(ids->nguid)))
> return 0;
> }
This one should have had the && instead of course...
--
Jens Axboe
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [GIT PULL] nvme updates for Linux 4.15
2017-11-10 17:39 ` Jens Axboe
@ 2017-11-11 8:43 ` Christoph Hellwig
2017-11-11 22:37 ` Jens Axboe
0 siblings, 1 reply; 12+ messages in thread
From: Christoph Hellwig @ 2017-11-11 8:43 UTC (permalink / raw)
To: Jens Axboe
Cc: Christoph Hellwig, Keith Busch, linux-block, Sagi Grimberg,
linux-nvme
Do you want to apply this forward ported version of the patch
to your for-4.15/block tree? That should at least make the conflict
go away for Linus when he pulls it.
---
>From 9a687c554af721a7a4d77a82d6d8be4e66c1e1a0 Mon Sep 17 00:00:00 2001
From: Martin Wilck <mwilck@suse.com>
Date: Thu, 28 Sep 2017 21:33:23 +0200
Subject: nvme: fix visibility of "uuid" ns attribute
"uuid" must be invisible if both ns->uuid and ns->nguid are unset,
not if either one is.
Fixes: d934f9848a77 "nvme: provide UUID value to userspace"
Signed-off-by: Martin Wilck <mwilck@suse.com>
[hch: rebased to the nvme-4.15 tree to help resolving a conflict]
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
drivers/nvme/host/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index b4d649039665..592fa6af227f 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -2524,7 +2524,7 @@ static umode_t nvme_ns_id_attrs_are_visible(struct kobject *kobj,
struct nvme_ns_ids *ids = &dev_to_ns_head(dev)->ids;
if (a == &dev_attr_uuid.attr) {
- if (uuid_is_null(&ids->uuid) ||
+ if (uuid_is_null(&ids->uuid) &&
!memchr_inv(ids->nguid, 0, sizeof(ids->nguid)))
return 0;
}
--
2.14.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [GIT PULL] nvme updates for Linux 4.15
@ 2017-11-03 12:17 Christoph Hellwig
2017-11-03 16:29 ` Jens Axboe
0 siblings, 1 reply; 12+ messages in thread
From: Christoph Hellwig @ 2017-11-03 12:17 UTC (permalink / raw)
To: Jens Axboe; +Cc: Keith Busch, linux-block, Sagi Grimberg, linux-nvme
Hi Jens,
below are the currently queue nvme updates for Linux 4.15. There are
a few more things that could make it for this merge window, but I'd
like to get things into linux-next, especially for the unlikely case
that Linus decided to cut -rc8.
Highlights:
- support for SGLs in the PCIe driver (Chaitanya Kulkarni)
- disable I/O schedulers for the admin queue (Israel Rukshin)
- various Fibre Channel fixes and enhancements (James Smart)
- various refactoring for better code sharing between transports
(Sagi Grimberg and me)
as well as lots of little bits from various contributors.
The following changes since commit 9c9883744dda1cc38339a448dd8435140537027e:
block: move __elv_next_request to blk-core.c (2017-10-03 08:43:04 -0600)
are available in the git repository at:
git://git.infradead.org/nvme.git nvme-4.15
for you to fetch changes up to a806c6c81e6c0d07c8a8b2643bad4a37a196d681:
nvme: comment typo fixed in clearing AER (2017-11-03 10:02:20 +0300)
----------------------------------------------------------------
Chaitanya Kulkarni (1):
nvme-pci: add SGL support
Christoph Hellwig (11):
nvme: simplify compat_ioctl handling
nvme: use ida_simple_{get,remove} for the controller instance
nvme: use kref_get_unless_zero in nvme_find_get_ns
nvme: simplify nvme_open
nvme: switch controller refcounting to use struct device
nvme: get rid of nvme_ctrl_list
nvme: check for a live controller in nvme_dev_open
nvme-fc: merge __nvme_fc_schedule_delete_work into __nvme_fc_del_ctrl
nvme: move controller deletion to common code
nvme-rdma: remove nvme_rdma_remove_ctrl
nvme: consolidate common code from ->reset_work
Israel Rukshin (3):
nvme-rdma: Add BLK_MQ_F_NO_SCHED flag to admin tag set
nvme-fc: Add BLK_MQ_F_NO_SCHED flag to admin tag set
nvme-loop: Add BLK_MQ_F_NO_SCHED flag to admin tag set
James Smart (18):
nvmet: bump NVMET_NR_QUEUES to 128
nvme-fc: add uevent for auto-connect
nvme-fc: create fc class and transport device
nvme-fc: move remote port get/put/free location
nvme-fc: correct io termination handling
nvme-fc: correct io timeout behavior
nvme: add duplicate_connect option
nvme: add helper to compare options to controller
nvme-rdma: add support for duplicate_connect option
nvme-fc: add support for duplicate_connect option
nvme-fc: remove NVME_FC_MAX_SEGMENTS
nvme-fc: avoid workqueue flush stalls
nvme-fc: change ctlr state assignments during reset/reconnect
nvme-fc: add a dev_loss_tmo field to the remoteport
nvme-fc: check connectivity before initiating reconnects
nvme: allow controller RESETTING to RECONNECTING transition
nvme-fc: add dev_loss_tmo timeout and remoteport resume support
nvmet: fix fatal_err_work deadlock
Keith Busch (1):
nvme: Remove unused headers
Marc Olson (1):
nvme: update timeout module parameter type
Max Gurtovoy (1):
nvme-rdma: align nvme_rdma_device structure
Minwoo Im (2):
nvme-pci: fix typos in comments
nvme: comment typo fixed in clearing AER
Nitzan Carmi (1):
nvme-rdma: Add debug message when reaches timeout
Randy Dunlap (1):
nvme: use menu Kconfig interface
Roy Shterman (1):
nvmet: Change max_nsid in subsystem due to ns_disable if needed
Sagi Grimberg (14):
nvme-fabrics: request transport module
block: introduce blk_mq_tagset_iter
nvme: introduce nvme_reinit_tagset
block: remove blk_mq_reinit_tagset
nvme-rdma: pass tagset to directly nvme_rdma_free_tagset
nvme-rdma: fix wrong logging message
nvme-rdma: move assignment to declaration
nvme-rdma: Check that reinit_request got a proper mr
nvme-rdma: teardown admin/io queues once on error recovery
nvme-rdma: Don't local invalidate if the queue is not live
nvme-rdma: change queue flag semantics DELETING -> ALLOCATED
nvme-rdma: stop controller reset if the controller is deleting
nvme-rdma: reuse nvme_delete_ctrl when reconnect attempts expire
nvme: flush reset_work before safely continuing with delete operation
block/blk-mq-tag.c | 11 +-
drivers/nvme/Kconfig | 4 +
drivers/nvme/host/core.c | 260 +++++++---------
drivers/nvme/host/fabrics.c | 12 +-
drivers/nvme/host/fabrics.h | 14 +
drivers/nvme/host/fc.c | 656 ++++++++++++++++++++++++++++++-----------
drivers/nvme/host/nvme.h | 26 +-
drivers/nvme/host/pci.c | 224 +++++++++++---
drivers/nvme/host/rdma.c | 225 ++++++++------
drivers/nvme/target/core.c | 13 +
drivers/nvme/target/fc.c | 16 +-
drivers/nvme/target/loop.c | 47 +--
drivers/nvme/target/nvmet.h | 2 +-
include/linux/blk-mq.h | 4 +-
include/linux/nvme-fc-driver.h | 15 +-
15 files changed, 1026 insertions(+), 503 deletions(-)
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [GIT PULL] nvme updates for Linux 4.15
2017-11-03 12:17 Christoph Hellwig
@ 2017-11-03 16:29 ` Jens Axboe
0 siblings, 0 replies; 12+ messages in thread
From: Jens Axboe @ 2017-11-03 16:29 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: Keith Busch, linux-block, Sagi Grimberg, linux-nvme
On 11/03/2017 06:17 AM, Christoph Hellwig wrote:
> Hi Jens,
>
> below are the currently queue nvme updates for Linux 4.15. There are
> a few more things that could make it for this merge window, but I'd
> like to get things into linux-next, especially for the unlikely case
> that Linus decided to cut -rc8.
>
> Highlights:
> - support for SGLs in the PCIe driver (Chaitanya Kulkarni)
> - disable I/O schedulers for the admin queue (Israel Rukshin)
> - various Fibre Channel fixes and enhancements (James Smart)
> - various refactoring for better code sharing between transports
> (Sagi Grimberg and me)
>
> as well as lots of little bits from various contributors.
Pulled, thanks.
--
Jens Axboe
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2017-11-11 22:37 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-10 14:34 [GIT PULL] nvme updates for Linux 4.15 Christoph Hellwig
2017-11-10 15:18 ` Jens Axboe
2017-11-10 15:22 ` Jens Axboe
2017-11-10 17:22 ` Christoph Hellwig
2017-11-10 17:27 ` Jens Axboe
2017-11-10 17:33 ` Christoph Hellwig
2017-11-10 17:38 ` Jens Axboe
2017-11-10 17:39 ` Jens Axboe
2017-11-11 8:43 ` Christoph Hellwig
2017-11-11 22:37 ` Jens Axboe
-- strict thread matches above, loose matches on Subject: below --
2017-11-03 12:17 Christoph Hellwig
2017-11-03 16:29 ` Jens Axboe
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).