summaryrefslogtreecommitdiffstats
path: root/drivers/block/rbd.c
diff options
context:
space:
mode:
authorAlex Elder2012-10-31 01:40:33 +0100
committerAlex Elder2012-11-01 13:55:42 +0100
commit2c0d0a10ea89456781218f458f6bf72e99d87d2a (patch)
treed813b4eaebe1cadf6964347a304bc40e85fab757 /drivers/block/rbd.c
parentrbd: encapsulate last part of probe (diff)
downloadkernel-qcow2-linux-2c0d0a10ea89456781218f458f6bf72e99d87d2a.tar.gz
kernel-qcow2-linux-2c0d0a10ea89456781218f458f6bf72e99d87d2a.tar.xz
kernel-qcow2-linux-2c0d0a10ea89456781218f458f6bf72e99d87d2a.zip
rbd: allow null image name
We will know the image id for format 2 parent images, but won't initially know its image name. Avoid making the query for an image id in rbd_dev_image_id() if it's already known. Signed-off-by: Alex Elder <elder@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Diffstat (limited to 'drivers/block/rbd.c')
-rw-r--r--drivers/block/rbd.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index 8d26c0f2be14..a8521338bf46 100644
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -3068,6 +3068,14 @@ static int rbd_dev_image_id(struct rbd_device *rbd_dev)
void *p;
/*
+ * When probing a parent image, the image id is already
+ * known (and the image name likely is not). There's no
+ * need to fetch the image id again in this case.
+ */
+ if (rbd_dev->spec->image_id)
+ return 0;
+
+ /*
* First, see if the format 2 image id file exists, and if
* so, get the image's persistent id from it.
*/