On Thu, Jan 23, 2020 at 1:44 PM Hannes Reinecke <hare@xxxxxxx> wrote: > > The rbd driver already provides additional information in sysfs > under /sys/bus/rbd, so we should set the 'device' link in the block > device to reference this information. > > Cc: David Disseldorp <ddiss@xxxxxxxx> > Signed-off-by: Hannes Reinecke <hare@xxxxxxxx> > --- > drivers/block/rbd.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c > index 9f1f8689e316..3240b7744aeb 100644 > --- a/drivers/block/rbd.c > +++ b/drivers/block/rbd.c > @@ -6938,7 +6938,7 @@ static ssize_t do_rbd_add(struct bus_type *bus, > if (rc) > goto err_out_image_lock; > > - add_disk(rbd_dev->disk); > + device_add_disk(&rbd_dev->dev, rbd_dev->disk, NULL); > /* see rbd_init_disk() */ > blk_put_queue(rbd_dev->disk->queue); Hi Hannes, I looked at this a while ago and didn't go through with the patch because I wasn't sure whether this symlink can point to something arbitrary. IIRC it usually points a couple of levels up, to some parent. In the rbd case, this would be a completely different tree: /sys/devices/virtual -> /sys/bus/rbd. Do you know if there is precedent for this in some other driver? Are you sure it's not going to break any assumptions? How did this came up? I'm curious because rbd(8) is only utility that I know of that (somewhat) cares. Thanks, Ilya