From: hch@lst.de (Christoph Hellwig)
Subject: [PATCH 10/17] nvme: switch controller refcounting to use struct device
Date: Thu, 19 Oct 2017 09:20:53 +0200 [thread overview]
Message-ID: <20171019072053.GA12168@lst.de> (raw)
In-Reply-To: <b4e85bf7-f0ae-4ea9-2caa-3ba3645f88ea@grimberg.me>
On Thu, Oct 19, 2017@10:17:01AM +0300, Sagi Grimberg wrote:
>
>
>> - 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.
> Maybe we can introduce get_device_unless_zero() for this?
I thought about it for the other open coded versions and my decision
was that I want to send a patch for it next merge window, but not
now to avoid having to coordinate with the driver core tree.
next prev parent reply other threads:[~2017-10-19 7:20 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-18 16:52 nvme multipath support V4 Christoph Hellwig
2017-10-18 16:52 ` [PATCH 01/17] block: move REQ_NOWAIT Christoph Hellwig
2017-10-19 5:48 ` Hannes Reinecke
2017-10-19 6:46 ` Johannes Thumshirn
2017-10-18 16:52 ` [PATCH 02/17] block: add REQ_DRV bit Christoph Hellwig
2017-10-19 5:48 ` Hannes Reinecke
2017-10-19 6:47 ` Johannes Thumshirn
2017-10-18 16:52 ` [PATCH 03/17] block: provide a direct_make_request helper Christoph Hellwig
2017-10-19 10:35 ` Sagi Grimberg
2017-10-19 10:36 ` Sagi Grimberg
2017-10-19 13:54 ` Christoph Hellwig
2017-10-19 14:42 ` Sagi Grimberg
2017-10-18 16:52 ` [PATCH 04/17] block: add a blk_steal_bios helper Christoph Hellwig
2017-10-18 16:52 ` [PATCH 05/17] block: don't look at the struct device dev_t in disk_devt Christoph Hellwig
2017-10-19 8:32 ` Johannes Thumshirn
2017-10-18 16:52 ` [PATCH 06/17] block: introduce GENHD_FL_HIDDEN Christoph Hellwig
2017-10-19 8:31 ` Johannes Thumshirn
2017-10-19 12:45 ` Hannes Reinecke
2017-10-19 13:15 ` Christoph Hellwig
2017-10-18 16:52 ` [PATCH 07/17] nvme: use ida_simple_{get, remove} for the controller instance Christoph Hellwig
2017-10-19 6:53 ` Johannes Thumshirn
2017-10-19 6:58 ` [PATCH 07/17] nvme: use ida_simple_{get,remove} " Sagi Grimberg
2017-10-19 15:14 ` Keith Busch
2017-10-19 15:12 ` Christoph Hellwig
2017-10-18 16:52 ` [PATCH 08/17] nvme: use kref_get_unless_zero in nvme_find_get_ns Christoph Hellwig
2017-10-19 6:54 ` Johannes Thumshirn
2017-10-19 6:59 ` Sagi Grimberg
2017-10-18 16:52 ` [PATCH 09/17] nvme: simplify nvme_open Christoph Hellwig
2017-10-19 6:55 ` Johannes Thumshirn
2017-10-19 6:59 ` Sagi Grimberg
2017-10-18 16:52 ` [PATCH 10/17] nvme: switch controller refcounting to use struct device Christoph Hellwig
2017-10-19 7:17 ` Sagi Grimberg
2017-10-19 7:20 ` Christoph Hellwig [this message]
2017-10-19 7:31 ` Sagi Grimberg
2017-10-19 7:37 ` Christoph Hellwig
2017-10-19 10:02 ` Sagi Grimberg
2017-10-19 10:18 ` Christoph Hellwig
2017-10-19 10:33 ` Sagi Grimberg
2017-10-19 13:54 ` Christoph Hellwig
2017-10-18 16:52 ` [PATCH 11/17] nvme: get rid of nvme_ctrl_list Christoph Hellwig
2017-10-19 7:18 ` Sagi Grimberg
2017-10-19 7:22 ` Johannes Thumshirn
2017-10-19 7:24 ` Christoph Hellwig
2017-10-18 16:52 ` [PATCH 12/17] nvme: check for a live controller in nvme_dev_open Christoph Hellwig
2017-10-19 7:18 ` Sagi Grimberg
2017-10-19 7:23 ` Johannes Thumshirn
2017-10-18 16:52 ` [PATCH 13/17] nvme: track subsystems Christoph Hellwig
2017-10-18 22:39 ` Keith Busch
2017-10-18 22:53 ` Keith Busch
2017-10-19 7:14 ` Christoph Hellwig
2017-10-18 16:52 ` [PATCH 14/17] nvme: introduce a nvme_ns_ids structure Christoph Hellwig
2017-10-18 16:52 ` [PATCH 15/17] nvme: track shared namespaces Christoph Hellwig
2017-10-19 7:36 ` Johannes Thumshirn
2017-10-19 11:06 ` Sagi Grimberg
2017-10-19 13:51 ` Christoph Hellwig
2017-10-20 19:03 ` Javier González
2017-10-18 16:52 ` [PATCH 16/17] nvme: implement multipath access to nvme subsystems Christoph Hellwig
2017-10-18 16:52 ` [PATCH 17/17] nvme: also expose the namespace identification sysfs files for mpath nodes Christoph Hellwig
2017-10-19 7:45 ` Johannes Thumshirn
2017-10-19 15:24 ` Sagi Grimberg
2017-10-23 2:08 ` nvme multipath support V4 Guan Junxiong
2017-10-23 6:33 ` Sagi Grimberg
-- strict thread matches above, loose matches on Subject: below --
2017-10-23 14:51 nvme multipath support V5 Christoph Hellwig
2017-10-23 14:51 ` [PATCH 10/17] nvme: switch controller refcounting to use struct device Christoph Hellwig
2017-10-24 7:23 ` Hannes Reinecke
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171019072053.GA12168@lst.de \
--to=hch@lst.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).