On Thu, Jan 21, 2016 at 1:27 PM, Jens Axboe <ax...@fb.com> 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