rbd: call set_snap() before snap_devs_update()
rbd_header_set_snap() is a simple initialization routine for an rbd device's mapping. It has to be called after the snapshot context for the rbd_dev has been updated, but can be done before snapshot devices have been registered. Change the name to rbd_dev_set_mapping() to better reflect its purpose, and call it a little sooner, before registering snapshot devices. Signed-off-by: Alex Elder <elder@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
This commit is contained in:
parent
304f68086f
commit
5ed1617731
|
@ -640,7 +640,7 @@ static int snap_by_name(struct rbd_device *rbd_dev, const char *snap_name)
|
|||
return -ENOENT;
|
||||
}
|
||||
|
||||
static int rbd_header_set_snap(struct rbd_device *rbd_dev, char *snap_name)
|
||||
static int rbd_dev_set_mapping(struct rbd_device *rbd_dev, char *snap_name)
|
||||
{
|
||||
int ret;
|
||||
|
||||
|
@ -2625,12 +2625,13 @@ static ssize_t rbd_add(struct bus_type *bus,
|
|||
rc = rbd_dev_snaps_update(rbd_dev);
|
||||
if (rc)
|
||||
goto err_out_bus;
|
||||
rc = rbd_dev_snaps_register(rbd_dev);
|
||||
|
||||
rc = rbd_dev_set_mapping(rbd_dev, snap_name);
|
||||
if (rc)
|
||||
goto err_out_bus;
|
||||
|
||||
down_write(&rbd_dev->header_rwsem);
|
||||
rc = rbd_header_set_snap(rbd_dev, snap_name);
|
||||
rc = rbd_dev_snaps_register(rbd_dev);
|
||||
up_write(&rbd_dev->header_rwsem);
|
||||
if (rc)
|
||||
goto err_out_bus;
|
||||
|
|
Loading…
Reference in a new issue