Skip to content

Commit

Permalink
rbd: kill rbd_spec->image_name_len
Browse files Browse the repository at this point in the history
There may have been a benefit to hanging on to the length of an
image name before, but there is really none now.  The only time it's
used is when probing for rbd images, so we can just compute the
length then.

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: David Zafman <david.zafman@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
  • Loading branch information
Alex Elder authored and Alex Elder committed Jan 17, 2013
1 parent c66c6e0 commit 69e7a02
Showing 1 changed file with 8 additions and 11 deletions.
19 changes: 8 additions & 11 deletions drivers/block/rbd.c
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,6 @@ struct rbd_spec {
char *image_id;
size_t image_id_len;
char *image_name;
size_t image_name_len;

u64 snap_id;
char *snap_name;
Expand Down Expand Up @@ -2563,15 +2562,15 @@ static char *rbd_dev_image_name(struct rbd_device *rbd_dev)

rbd_assert(!rbd_dev->spec->image_name);

image_id_size = sizeof (__le32) + rbd_dev->spec->image_id_len;
len = strlen(rbd_dev->spec->image_id);
image_id_size = sizeof (__le32) + len;
image_id = kmalloc(image_id_size, GFP_KERNEL);
if (!image_id)
return NULL;

p = image_id;
end = (char *) image_id + image_id_size;
ceph_encode_string(&p, end, rbd_dev->spec->image_id,
(u32) rbd_dev->spec->image_id_len);
ceph_encode_string(&p, end, rbd_dev->spec->image_id, (u32) len);

size = sizeof (__le32) + RBD_IMAGE_NAME_LEN_MAX;
reply_buf = kmalloc(size, GFP_KERNEL);
Expand Down Expand Up @@ -2631,14 +2630,12 @@ static int rbd_dev_probe_update_spec(struct rbd_device *rbd_dev)
/* Fetch the image name; tolerate failure here */

name = rbd_dev_image_name(rbd_dev);
if (name) {
rbd_dev->spec->image_name_len = strlen(name);
if (name)
rbd_dev->spec->image_name = (char *) name;
} else {
else
pr_warning(RBD_DRV_NAME "%d "
"unable to get image name for image id %s\n",
rbd_dev->major, rbd_dev->spec->image_id);
}

/* Look up the snapshot name. */

Expand Down Expand Up @@ -3252,7 +3249,7 @@ static int rbd_add_parse_args(const char *buf,
if (!*spec->pool_name)
goto out_err; /* Missing pool name */

spec->image_name = dup_token(&buf, &spec->image_name_len);
spec->image_name = dup_token(&buf, NULL);
if (!spec->image_name)
goto out_mem;
if (!*spec->image_name)
Expand Down Expand Up @@ -3342,7 +3339,7 @@ static int rbd_dev_image_id(struct rbd_device *rbd_dev)
* First, see if the format 2 image id file exists, and if
* so, get the image's persistent id from it.
*/
size = sizeof (RBD_ID_PREFIX) + rbd_dev->spec->image_name_len;
size = sizeof (RBD_ID_PREFIX) + strlen(rbd_dev->spec->image_name);
object_name = kmalloc(size, GFP_NOIO);
if (!object_name)
return -ENOMEM;
Expand Down Expand Up @@ -3400,7 +3397,7 @@ static int rbd_dev_v1_probe(struct rbd_device *rbd_dev)

/* Record the header object name for this rbd image. */

size = rbd_dev->spec->image_name_len + sizeof (RBD_SUFFIX);
size = strlen(rbd_dev->spec->image_name) + sizeof (RBD_SUFFIX);
rbd_dev->header_name = kmalloc(size, GFP_KERNEL);
if (!rbd_dev->header_name) {
ret = -ENOMEM;
Expand Down

0 comments on commit 69e7a02

Please sign in to comment.