]> git.baikalelectronics.ru Git - kernel.git/commit
rbd: get additional info in parent spec
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)
commitcd8d37697ace5f2fb9fecd0d45fd6da1c6d24ba4
tree009f652ab8c5a8d909c9cf1994d30b5a2e30ef0d
parent4efdf0d3f3239affc11a10744919c6f26f77d7a7
rbd: get additional info in parent spec

When a layered rbd image has a parent, that parent is identified
only by its pool id, image id, and snapshot id.  Images that have
been mapped also record *names* for those three id's.

Add code to look up these names for parent images so they match
mapped images more closely.  Skip doing this for an image if it
already has its pool name defined (this will be the case for images
mapped by the user).

It is possible that an the name of a parent image can't be
determined, even if the image id is valid.  If this occurs it
does not preclude correct operation, so don't treat this as
an error.

On the other hand, defined pools will always have both an id and a
name.   And any snapshot of an image identified as a parent for a
clone image will exist, and will have a name (if not it indicates
some other internal error).  So treat failure to get these bits
of information as errors.

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
drivers/block/rbd.c