On Mon, Oct 30, 2017 at 11:37:55AM +0800, Guan Junxiong wrote:
> > + head->disk->flags = GENHD_FL_EXT_DEVT;
> > + sprintf(head->disk->disk_name, "nvme%dn%d",
> > + ctrl->subsys->instance, nsid);
>
> Is it okay to use head->instance instead of nsid for disk name nvme#n# ?
> Be
On 2017/10/23 22:51, Christoph Hellwig wrote:
> @@ -2427,20 +2681,46 @@ static struct nvme_ns_head *nvme_alloc_ns_head(struct
> nvme_ctrl *ctrl,
> if (ret) {
> dev_err(ctrl->device,
> "duplicate IDs for nsid %d\n", nsid);
> - goto out_free_he
> Sure this works?
It does.
> nvme_req_needs_retry() checks blk_noretry_request():
> The original idea here was to _set_ these bits on multipath path devices
> so that they won't attempt any retry, but rather forward the I/O error
> to the multipath device itself for failover.
> So if these bits
On 10/23/2017 04:51 PM, Christoph Hellwig wrote:
> This patch adds native multipath support to the nvme driver. For each
> namespace we create only single block device node, which can be used
> to access that namespace through any of the controllers that refer to it.
> The gendisk for each control
static inline bool nvme_req_needs_retry(struct request *req)
{
if (blk_noretry_request(req))
@@ -143,6 +204,11 @@ static inline bool nvme_req_needs_retry(struct request
*req)
void nvme_complete_rq(struct request *req)
{
if (unlikely(nvme_req(req)->status && nvme_req_need
On Mon, Oct 23, 2017 at 06:32:47PM +0300, Sagi Grimberg wrote:
>> struct nvme_queue *nvmeq = hctx->driver_data;
>> + printk_ratelimited("%s: called\n", __func__);
>> +
>
> This must be a left-over...
Indeed, it is a left-over debug statement..
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index 7735571ffc9a..bbece5edabff 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -1050,6 +1050,8 @@ static int nvme_poll(struct blk_mq_hw_ctx *hctx, unsigned
int tag)
{
struct nvme_queue *nvmeq = hctx
This patch adds native multipath support to the nvme driver. For each
namespace we create only single block device node, which can be used
to access that namespace through any of the controllers that refer to it.
The gendisk for each controllers path to the name space still exists
inside the kerne
This patch adds native multipath support to the nvme driver. For each
namespace we create only single block device node, which can be used
to access that namespace through any of the controllers that refer to it.
The gendisk for each controllers path to the name space still exists
inside the kerne