Christoph,
> static void nvme_free_ns(struct kref *kref)
> {
> struct nvme_ns *ns = container_of(kref, struct nvme_ns, kref);
>
> + if (ns->head)
> + nvme_put_ns_head(ns->head);
> +
When can we not have a ns-head set?
AFAICT, if nvme_alloc_ns succeeded, we have it set don't we?