rbd: allow null image name
authorAlex Elder <elder@inktank.com>
Wed, 31 Oct 2012 00:40:33 +0000 (19:40 -0500)
committerAlex Elder <elder@inktank.com>
Thu, 1 Nov 2012 12:55:42 +0000 (07:55 -0500)
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>
drivers/block/rbd.c

index 8d26c0f2be1491e2da0673fff7f9d2104bc5ab18..a8521338bf46b1b3ebc56bcc10ce374d57eafc15 100644 (file)
@@ -3067,6 +3067,14 @@ static int rbd_dev_image_id(struct rbd_device *rbd_dev)
        void *response;
        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.