[PATCH 10/17] nvme: switch controller refcounting to use struct device
Sagi Grimberg
sagi at grimberg.me
Thu Oct 19 00:31:20 PDT 2017
>>> - if (!kref_get_unless_zero(&ctrl->ctrl.kref))
>>> - return -EBUSY;
>>> + nvme_get_ctrl(&ctrl->ctrl);
>>
>> Given that we take this reference before we are protected with
>> the state change I think this should still be get_unless_zero.
>
> Because we now refcount the device we must have a reference on it
> when we call the sysfs file for it, and for the fabrics file
> we have an explicit reference already. So there should not be
> any need to do the unless_zero.
I don't think the fabrics device does not help us to keep the ctrl
allocated until we finish removal.
I do agree that the kobj reference in nvme_dev_open keeps it alive.
More information about the Linux-nvme
mailing list