Re: [PATCH 4/6] rbd: don't look up snapshot id in rbd_dev_mapping_set()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Alex Elder <elder@xxxxxxxxxxx> wrote:

>Currently rbd_dev_mapping_set() looks up the snapshot id for the
>snapshot whose name is found in the rbd device's spec structure.
>
>That function gets called by rbd_dev_device_setup(), which is
>called by rbd_add() *after* rbd_dev_image_probe().  If the
>image probe succeeds, the rbd device's spec will already have
>been updated to include names and ids for all fields.
>
>Therefore there's no need to look up the snapshot id in
>rbd_dev_mapping_set().
>
>Signed-off-by: Alex Elder <elder@xxxxxxxxxxx>
>---
> drivers/block/rbd.c |   11 +----------
> 1 file changed, 1 insertion(+), 10 deletions(-)
>
>diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
>index 7d93dbd..5eebf6d 100644
>--- a/drivers/block/rbd.c
>+++ b/drivers/block/rbd.c
>@@ -936,20 +936,11 @@ static int rbd_snap_features(struct rbd_device
>*rbd_dev, u64 snap_id,
>
> static int rbd_dev_mapping_set(struct rbd_device *rbd_dev)
> {
>-	const char *snap_name = rbd_dev->spec->snap_name;
>-	u64 snap_id;
>+	u64 snap_id = rbd_dev->spec->snap_id;
> 	u64 size = 0;
> 	u64 features = 0;
> 	int ret;
>
>-	if (strcmp(snap_name, RBD_SNAP_HEAD_NAME)) {
>-		snap_id = rbd_snap_id_by_name(rbd_dev, snap_name);
>-		if (snap_id == CEPH_NOSNAP)
>-			return -ENOENT;
>-	} else {
>-		snap_id = CEPH_NOSNAP;
>-	}
>-
> 	ret = rbd_snap_size(rbd_dev, snap_id, &size);
> 	if (ret)
> 		return ret;

Reviewed-by: Josh Durgin <josh.durgin@xxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux