On 06/12/2013 10:10 PM, Josh Durgin wrote:
> rbd_dev_v2_header_onetime() fetches striping information, and
> checks whether the image can be read by compariing the stripe unit
> to the object size. It determines the object size by shifting
> the object order, which is 0 at this point since it has not been
> read yet. Move the call to get the image size and object order
> before rbd_dev_v2_header_onetime() so it is set before use.
> 
> Signed-off-by: Josh Durgin <[email protected]>

Looks good.

Reviewed-by: Alex Elder <[email protected]>

> ---
>  drivers/block/rbd.c |    8 ++++----
>  1 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
> index cecf5c6..9f72125 100644
> --- a/drivers/block/rbd.c
> +++ b/drivers/block/rbd.c
> @@ -4286,6 +4286,10 @@ static int rbd_dev_v2_header_info(struct rbd_device 
> *rbd_dev)
>       bool first_time = rbd_dev->header.object_prefix == NULL;
>       int ret;
>  
> +     ret = rbd_dev_v2_image_size(rbd_dev);
> +     if (ret)
> +             return ret;
> +
>       if (first_time) {
>               ret = rbd_dev_v2_header_onetime(rbd_dev);
>               if (ret)
> @@ -4319,10 +4323,6 @@ static int rbd_dev_v2_header_info(struct rbd_device 
> *rbd_dev)
>                                       "is EXPERIMENTAL!");
>       }
>  
> -     ret = rbd_dev_v2_image_size(rbd_dev);
> -     if (ret)
> -             return ret;
> -
>       if (rbd_dev->spec->snap_id == CEPH_NOSNAP)
>               if (rbd_dev->mapping.size != rbd_dev->header.image_size)
>                       rbd_dev->mapping.size = rbd_dev->header.image_size;
> 

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to