Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5ed16177 authored by Alex Elder's avatar Alex Elder
Browse files

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: default avatarAlex Elder <elder@inktank.com>
Reviewed-by: default avatarJosh Durgin <josh.durgin@inktank.com>
parent 304f6808
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -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;