Re: [GIT PULL] NVMe changes for 4.5-rc1

From: Linus Torvalds
Date: Thu Jan 21 2016 - 22:58:30 EST


On Thu, Jan 21, 2016 at 1:27 PM, Jens Axboe <axboe@xxxxxx> wrote:
>
> Note that pulling this in will conflict with master, since the code was
> forked off pretty early, and we had a good chunk of nvme fixes later in
> the 4.4 cycle.

Not just conflict, but conflict in bad ways. I don't think I'll be
able to fix it up sanely.

In particular, commit b5875222de2f ("NVMe: IO ending fixes on surprise
removal") by Keith Busch added this to nvme_dev_remove():

if (nvme_io_incapable(dev)) {
/*
* If the device is not capable of IO (surprise hot-removal,
* for example), we need to quiesce prior to deleting the
* namespaces. This will end outstanding requests and prevent
* attempts to sync dirty data.
*/
nvme_dev_shutdown(dev);
}

and in your branch we now have:

- nvme_dev_shutdown() is now nvme_dev_disable(dev, false). Fine.

- nvme_dev_remove() got renamed to nvme_remove_namespaces(), but also
lost the "dev" argument (it takes "struct nvme_ctrl *ctrl" now).

I think I will end up doing the merge by just dropping that part of
the surprise removal commit, and letting you and Keith work out what
the real solution is..

Linus