rbd: fix up the layering warning message

A warning gets spewed for any image being probed, including parent
images.  Set up a condition such that the warning message only gets
printed for the image being mapped, not any of its parents.

Also, I didn't like the way the warning ended up being so long.
Make it a terse warning instead.  People experimenting with layering
will know what the message means.

This is part of:
    http://tracker.ceph.com/issues/4867

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
This commit is contained in:
Alex Elder 2013-04-30 00:44:32 -05:00 committed by Sage Weil
parent 812164f8c3
commit 96882f55c4

View File

@ -4624,8 +4624,15 @@ static int rbd_dev_v2_probe(struct rbd_device *rbd_dev)
ret = rbd_dev_v2_parent_info(rbd_dev);
if (ret)
goto out_err;
rbd_warn(rbd_dev, "WARNING: kernel support for "
"layered rbd images is EXPERIMENTAL!");
/*
* Don't print a warning for parent images. We can
* tell this point because we won't know its pool
* name yet (just its pool id).
*/
if (rbd_dev->spec->pool_name)
rbd_warn(rbd_dev, "WARNING: kernel layering "
"is EXPERIMENTAL!");
}
/* If the image supports fancy striping, get its parameters */