rnbd-srv: remove the name field from struct rnbd_dev

Just print the block device name directly using the %pg format specifier.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Jack Wang <jinpu.wang@ionos.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Link: https://lore.kernel.org/r/20220713055317.1888500-7-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Christoph Hellwig 2022-07-13 07:53:14 +02:00 committed by Jens Axboe
parent beecf70ee8
commit 6e880cf599
5 changed files with 7 additions and 12 deletions

View File

@ -28,7 +28,6 @@ struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags)
goto err; goto err;
dev->blk_open_flags = flags; dev->blk_open_flags = flags;
bdevname(dev->bdev, dev->name);
return dev; return dev;

View File

@ -15,7 +15,6 @@
struct rnbd_dev { struct rnbd_dev {
struct block_device *bdev; struct block_device *bdev;
fmode_t blk_open_flags; fmode_t blk_open_flags;
char name[BDEVNAME_SIZE];
}; };
/** /**

View File

@ -38,14 +38,13 @@ static struct kobj_type dev_ktype = {
}; };
int rnbd_srv_create_dev_sysfs(struct rnbd_srv_dev *dev, int rnbd_srv_create_dev_sysfs(struct rnbd_srv_dev *dev,
struct block_device *bdev, struct block_device *bdev)
const char *dev_name)
{ {
struct kobject *bdev_kobj; struct kobject *bdev_kobj;
int ret; int ret;
ret = kobject_init_and_add(&dev->dev_kobj, &dev_ktype, ret = kobject_init_and_add(&dev->dev_kobj, &dev_ktype,
rnbd_devs_kobj, dev_name); rnbd_devs_kobj, "%pg", bdev);
if (ret) { if (ret) {
kobject_put(&dev->dev_kobj); kobject_put(&dev->dev_kobj);
return ret; return ret;

View File

@ -419,7 +419,7 @@ static struct rnbd_srv_sess_dev
return sess_dev; return sess_dev;
} }
static struct rnbd_srv_dev *rnbd_srv_init_srv_dev(const char *id) static struct rnbd_srv_dev *rnbd_srv_init_srv_dev(struct block_device *bdev)
{ {
struct rnbd_srv_dev *dev; struct rnbd_srv_dev *dev;
@ -427,7 +427,7 @@ static struct rnbd_srv_dev *rnbd_srv_init_srv_dev(const char *id)
if (!dev) if (!dev)
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
strscpy(dev->id, id, sizeof(dev->id)); snprintf(dev->id, sizeof(dev->id), "%pg", bdev);
kref_init(&dev->kref); kref_init(&dev->kref);
INIT_LIST_HEAD(&dev->sess_dev_list); INIT_LIST_HEAD(&dev->sess_dev_list);
mutex_init(&dev->lock); mutex_init(&dev->lock);
@ -512,7 +512,7 @@ rnbd_srv_get_or_create_srv_dev(struct rnbd_dev *rnbd_dev,
int ret; int ret;
struct rnbd_srv_dev *new_dev, *dev; struct rnbd_srv_dev *new_dev, *dev;
new_dev = rnbd_srv_init_srv_dev(rnbd_dev->name); new_dev = rnbd_srv_init_srv_dev(rnbd_dev->bdev);
if (IS_ERR(new_dev)) if (IS_ERR(new_dev))
return new_dev; return new_dev;
@ -758,8 +758,7 @@ static int process_msg_open(struct rnbd_srv_session *srv_sess,
*/ */
mutex_lock(&srv_dev->lock); mutex_lock(&srv_dev->lock);
if (!srv_dev->dev_kobj.state_in_sysfs) { if (!srv_dev->dev_kobj.state_in_sysfs) {
ret = rnbd_srv_create_dev_sysfs(srv_dev, rnbd_dev->bdev, ret = rnbd_srv_create_dev_sysfs(srv_dev, rnbd_dev->bdev);
rnbd_dev->name);
if (ret) { if (ret) {
mutex_unlock(&srv_dev->lock); mutex_unlock(&srv_dev->lock);
rnbd_srv_err(srv_sess_dev, rnbd_srv_err(srv_sess_dev,

View File

@ -68,8 +68,7 @@ void rnbd_srv_sess_dev_force_close(struct rnbd_srv_sess_dev *sess_dev,
/* rnbd-srv-sysfs.c */ /* rnbd-srv-sysfs.c */
int rnbd_srv_create_dev_sysfs(struct rnbd_srv_dev *dev, int rnbd_srv_create_dev_sysfs(struct rnbd_srv_dev *dev,
struct block_device *bdev, struct block_device *bdev);
const char *dir_name);
void rnbd_srv_destroy_dev_sysfs(struct rnbd_srv_dev *dev); void rnbd_srv_destroy_dev_sysfs(struct rnbd_srv_dev *dev);
int rnbd_srv_create_dev_session_sysfs(struct rnbd_srv_sess_dev *sess_dev); int rnbd_srv_create_dev_session_sysfs(struct rnbd_srv_sess_dev *sess_dev);
void rnbd_srv_destroy_dev_session_sysfs(struct rnbd_srv_sess_dev *sess_dev); void rnbd_srv_destroy_dev_session_sysfs(struct rnbd_srv_sess_dev *sess_dev);