From: Hannes Reinecke <hare@suse.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Christoph Hellwig <hch@lst.de>, Sagi Grimberg <sagi@grimberg.me>,
Keith Busch <keith.busch@intel.com>,
Bart van Assche <bart.vanassche@wdc.com>,
linux-nvme@lists.infradead.org, linux-block@vger.kernel.org,
Linux Kernel Mailinglist <linux-kernel@vger.kernel.org>,
Hannes Reinecke <hare@suse.de>, Hannes Reinecke <hare@suse.com>,
"Ed L . Cachin" <ed.cashin@acm.org>
Subject: [PATCH 3/5] aoe: use device_add_disk_with_groups()
Date: Tue, 14 Aug 2018 09:33:03 +0200 [thread overview]
Message-ID: <20180814073305.87255-4-hare@suse.de> (raw)
In-Reply-To: <20180814073305.87255-1-hare@suse.de>
Use device_add_disk_with_groups() to avoid a race condition with
udev during startup.
Signed-off-by: Hannes Reinecke <hare@suse.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Cc: Ed L. Cachin <ed.cashin@acm.org>
---
drivers/block/aoe/aoe.h | 1 -
drivers/block/aoe/aoeblk.c | 21 +++++++--------------
drivers/block/aoe/aoedev.c | 1 -
3 files changed, 7 insertions(+), 16 deletions(-)
diff --git a/drivers/block/aoe/aoe.h b/drivers/block/aoe/aoe.h
index c0ebda1283cc..015c68017a1c 100644
--- a/drivers/block/aoe/aoe.h
+++ b/drivers/block/aoe/aoe.h
@@ -201,7 +201,6 @@ int aoeblk_init(void);
void aoeblk_exit(void);
void aoeblk_gdalloc(void *);
void aoedisk_rm_debugfs(struct aoedev *d);
-void aoedisk_rm_sysfs(struct aoedev *d);
int aoechr_init(void);
void aoechr_exit(void);
diff --git a/drivers/block/aoe/aoeblk.c b/drivers/block/aoe/aoeblk.c
index 429ebb84b592..ff770e7d9e52 100644
--- a/drivers/block/aoe/aoeblk.c
+++ b/drivers/block/aoe/aoeblk.c
@@ -177,10 +177,15 @@ static struct attribute *aoe_attrs[] = {
NULL,
};
-static const struct attribute_group attr_group = {
+static const struct attribute_group aoe_attr_group = {
.attrs = aoe_attrs,
};
+static const struct attribute_group *aoe_attr_groups[] = {
+ &aoe_attr_group,
+ NULL,
+};
+
static const struct file_operations aoe_debugfs_fops = {
.open = aoe_debugfs_open,
.read = seq_read,
@@ -220,17 +225,6 @@ aoedisk_rm_debugfs(struct aoedev *d)
}
static int
-aoedisk_add_sysfs(struct aoedev *d)
-{
- return sysfs_create_group(&disk_to_dev(d->gd)->kobj, &attr_group);
-}
-void
-aoedisk_rm_sysfs(struct aoedev *d)
-{
- sysfs_remove_group(&disk_to_dev(d->gd)->kobj, &attr_group);
-}
-
-static int
aoeblk_open(struct block_device *bdev, fmode_t mode)
{
struct aoedev *d = bdev->bd_disk->private_data;
@@ -417,8 +411,7 @@ aoeblk_gdalloc(void *vp)
spin_unlock_irqrestore(&d->lock, flags);
- add_disk(gd);
- aoedisk_add_sysfs(d);
+ device_add_disk(NULL, gd, aoe_attr_groups);
aoedisk_add_debugfs(d);
spin_lock_irqsave(&d->lock, flags);
diff --git a/drivers/block/aoe/aoedev.c b/drivers/block/aoe/aoedev.c
index 697f735b07a4..d92fa1fe3580 100644
--- a/drivers/block/aoe/aoedev.c
+++ b/drivers/block/aoe/aoedev.c
@@ -275,7 +275,6 @@ freedev(struct aoedev *d)
del_timer_sync(&d->timer);
if (d->gd) {
aoedisk_rm_debugfs(d);
- aoedisk_rm_sysfs(d);
del_gendisk(d->gd);
put_disk(d->gd);
blk_cleanup_queue(d->blkq);
--
2.12.3
WARNING: multiple messages have this Message-ID (diff)
From: hare@suse.de (Hannes Reinecke)
Subject: [PATCH 3/5] aoe: use device_add_disk_with_groups()
Date: Tue, 14 Aug 2018 09:33:03 +0200 [thread overview]
Message-ID: <20180814073305.87255-4-hare@suse.de> (raw)
In-Reply-To: <20180814073305.87255-1-hare@suse.de>
Use device_add_disk_with_groups() to avoid a race condition with
udev during startup.
Signed-off-by: Hannes Reinecke <hare at suse.com>
Reviewed-by: Christoph Hellwig <hch at lst.de>
Cc: Ed L. Cachin <ed.cashin at acm.org>
---
drivers/block/aoe/aoe.h | 1 -
drivers/block/aoe/aoeblk.c | 21 +++++++--------------
drivers/block/aoe/aoedev.c | 1 -
3 files changed, 7 insertions(+), 16 deletions(-)
diff --git a/drivers/block/aoe/aoe.h b/drivers/block/aoe/aoe.h
index c0ebda1283cc..015c68017a1c 100644
--- a/drivers/block/aoe/aoe.h
+++ b/drivers/block/aoe/aoe.h
@@ -201,7 +201,6 @@ int aoeblk_init(void);
void aoeblk_exit(void);
void aoeblk_gdalloc(void *);
void aoedisk_rm_debugfs(struct aoedev *d);
-void aoedisk_rm_sysfs(struct aoedev *d);
int aoechr_init(void);
void aoechr_exit(void);
diff --git a/drivers/block/aoe/aoeblk.c b/drivers/block/aoe/aoeblk.c
index 429ebb84b592..ff770e7d9e52 100644
--- a/drivers/block/aoe/aoeblk.c
+++ b/drivers/block/aoe/aoeblk.c
@@ -177,10 +177,15 @@ static struct attribute *aoe_attrs[] = {
NULL,
};
-static const struct attribute_group attr_group = {
+static const struct attribute_group aoe_attr_group = {
.attrs = aoe_attrs,
};
+static const struct attribute_group *aoe_attr_groups[] = {
+ &aoe_attr_group,
+ NULL,
+};
+
static const struct file_operations aoe_debugfs_fops = {
.open = aoe_debugfs_open,
.read = seq_read,
@@ -220,17 +225,6 @@ aoedisk_rm_debugfs(struct aoedev *d)
}
static int
-aoedisk_add_sysfs(struct aoedev *d)
-{
- return sysfs_create_group(&disk_to_dev(d->gd)->kobj, &attr_group);
-}
-void
-aoedisk_rm_sysfs(struct aoedev *d)
-{
- sysfs_remove_group(&disk_to_dev(d->gd)->kobj, &attr_group);
-}
-
-static int
aoeblk_open(struct block_device *bdev, fmode_t mode)
{
struct aoedev *d = bdev->bd_disk->private_data;
@@ -417,8 +411,7 @@ aoeblk_gdalloc(void *vp)
spin_unlock_irqrestore(&d->lock, flags);
- add_disk(gd);
- aoedisk_add_sysfs(d);
+ device_add_disk(NULL, gd, aoe_attr_groups);
aoedisk_add_debugfs(d);
spin_lock_irqsave(&d->lock, flags);
diff --git a/drivers/block/aoe/aoedev.c b/drivers/block/aoe/aoedev.c
index 697f735b07a4..d92fa1fe3580 100644
--- a/drivers/block/aoe/aoedev.c
+++ b/drivers/block/aoe/aoedev.c
@@ -275,7 +275,6 @@ freedev(struct aoedev *d)
del_timer_sync(&d->timer);
if (d->gd) {
aoedisk_rm_debugfs(d);
- aoedisk_rm_sysfs(d);
del_gendisk(d->gd);
put_disk(d->gd);
blk_cleanup_queue(d->blkq);
--
2.12.3
next prev parent reply other threads:[~2018-08-14 7:33 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-14 7:33 [PATCHv2 0/5] genhd: register default groups with device_add_disk() Hannes Reinecke
2018-08-14 7:33 ` Hannes Reinecke
2018-08-14 7:33 ` [PATCH 1/5] block: genhd: add 'groups' argument to device_add_disk Hannes Reinecke
2018-08-14 7:33 ` Hannes Reinecke
2018-08-14 15:17 ` Bart Van Assche
2018-08-14 15:17 ` Bart Van Assche
2018-08-14 7:33 ` [PATCH 2/5] nvme: register ns_id attributes as default sysfs groups Hannes Reinecke
2018-08-14 7:33 ` Hannes Reinecke
2018-08-14 9:03 ` Javier González
2018-08-14 9:03 ` Javier González
2018-08-14 9:59 ` Matias Bjørling
2018-08-14 9:59 ` Matias Bjørling
2018-08-14 15:20 ` Bart Van Assche
2018-08-14 15:20 ` Bart Van Assche
2018-08-14 15:20 ` Bart Van Assche
2018-08-14 15:39 ` Hannes Reinecke
2018-08-14 15:39 ` Hannes Reinecke
2018-08-14 15:44 ` Bart Van Assche
2018-08-14 15:44 ` Bart Van Assche
2018-08-14 15:44 ` Bart Van Assche
2018-08-17 7:00 ` hch
2018-08-17 7:00 ` hch
2018-08-17 7:53 ` Hannes Reinecke
2018-08-17 7:53 ` Hannes Reinecke
2018-08-17 20:04 ` Bart Van Assche
2018-08-17 20:04 ` Bart Van Assche
2018-08-17 20:04 ` Bart Van Assche
2018-08-17 22:47 ` Sagi Grimberg
2018-08-17 22:47 ` Sagi Grimberg
2018-08-20 6:34 ` Hannes Reinecke
2018-08-20 6:34 ` Hannes Reinecke
2018-08-14 21:53 ` kbuild test robot
2018-08-14 21:53 ` kbuild test robot
2018-08-14 21:53 ` [RFC PATCH] nvme: nvme_ns_id_attr_group can be static kbuild test robot
2018-08-14 21:53 ` kbuild test robot
2018-08-17 6:55 ` [PATCH 2/5] nvme: register ns_id attributes as default sysfs groups Christoph Hellwig
2018-08-17 6:55 ` Christoph Hellwig
2018-08-14 7:33 ` Hannes Reinecke [this message]
2018-08-14 7:33 ` [PATCH 3/5] aoe: use device_add_disk_with_groups() Hannes Reinecke
2018-08-14 11:49 ` Ed Cashin
2018-08-14 15:21 ` Bart Van Assche
2018-08-14 15:21 ` Bart Van Assche
2018-08-14 15:21 ` Bart Van Assche
2018-08-17 6:53 ` Christoph Hellwig
2018-08-17 6:53 ` Christoph Hellwig
2018-08-14 7:33 ` [PATCH 4/5] zram: register default groups with device_add_disk() Hannes Reinecke
2018-08-14 7:33 ` Hannes Reinecke
2018-08-14 15:23 ` Bart Van Assche
2018-08-14 15:23 ` Bart Van Assche
2018-08-14 15:23 ` Bart Van Assche
2018-08-14 7:33 ` [PATCH 5/5] virtio-blk: modernize sysfs attribute creation Hannes Reinecke
2018-08-14 7:33 ` Hannes Reinecke
2018-08-14 15:24 ` Bart Van Assche
2018-08-14 15:24 ` Bart Van Assche
2018-08-14 15:24 ` Bart Van Assche
-- strict thread matches above, loose matches on Subject: below --
2018-09-05 7:00 [PATCHv3 0/5] genhd: register default groups with device_add_disk() Hannes Reinecke
2018-09-05 7:00 ` [PATCH 3/5] aoe: use device_add_disk_with_groups() Hannes Reinecke
2018-09-05 7:00 ` 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=20180814073305.87255-4-hare@suse.de \
--to=hare@suse.de \
--cc=axboe@kernel.dk \
--cc=bart.vanassche@wdc.com \
--cc=ed.cashin@acm.org \
--cc=hare@suse.com \
--cc=hch@lst.de \
--cc=keith.busch@intel.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=sagi@grimberg.me \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.