On Mon, Sep 18, 2017 at 04:14:53PM -0700, Christoph Hellwig wrote: This is awesome! Looks great, just a minor comment: > + sprintf(head->disk->disk_name, "nvme/ns%d", head->instance); Naming it 'nvme/ns<#>', kobject_set_name_vargs is going to change that '/' into a '!', so the sysfs entry is named 'nvme!ns<#>'. Not a big deal I suppose, but I just thought it looked odd since '!' has special meaning in shells. Otherwise, this is looking really solid, and test well on my single ported NVMe. I had some trouble getting dual ported ones, but I've some now and will run tests on those tomorrow with some failure injection.