rbd: get rid of trivial v1 header wrappers
Get rid of the trivial wrapper functions rbd_dev_v1_refresh() and rbd_dev_v1_probe(), substituting rbd_dev_v1_header_read() calls in their place. Rename rbd_dev_v1_header_read() to be rbd_dev_v1_header_info(), to be more generic (it will better reflect what happens with format 2 images). Signed-off-by: Alex Elder <elder@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
This commit is contained in:
parent
30d60ba2f2
commit
99a41ebcee
@ -788,7 +788,7 @@ static int rbd_header_from_disk(struct rbd_device *rbd_dev,
|
|||||||
* Copy the names, and fill in each snapshot's id
|
* Copy the names, and fill in each snapshot's id
|
||||||
* and size.
|
* and size.
|
||||||
*
|
*
|
||||||
* Note that rbd_dev_v1_header_read() guarantees the
|
* Note that rbd_dev_v1_header_info() guarantees the
|
||||||
* ondisk buffer we're working with has
|
* ondisk buffer we're working with has
|
||||||
* snap_names_len bytes beyond the end of the
|
* snap_names_len bytes beyond the end of the
|
||||||
* snapshot id array, this memcpy() is safe.
|
* snapshot id array, this memcpy() is safe.
|
||||||
@ -3050,7 +3050,7 @@ out:
|
|||||||
* return, the rbd_dev->header field will contain up-to-date
|
* return, the rbd_dev->header field will contain up-to-date
|
||||||
* information about the image.
|
* information about the image.
|
||||||
*/
|
*/
|
||||||
static int rbd_dev_v1_header_read(struct rbd_device *rbd_dev)
|
static int rbd_dev_v1_header_info(struct rbd_device *rbd_dev)
|
||||||
{
|
{
|
||||||
struct rbd_image_header_ondisk *ondisk = NULL;
|
struct rbd_image_header_ondisk *ondisk = NULL;
|
||||||
u32 snap_count = 0;
|
u32 snap_count = 0;
|
||||||
@ -3105,14 +3105,6 @@ out:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* only read the first part of the ondisk header, without the snaps info
|
|
||||||
*/
|
|
||||||
static int rbd_dev_v1_refresh(struct rbd_device *rbd_dev)
|
|
||||||
{
|
|
||||||
return rbd_dev_v1_header_read(rbd_dev);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Clear the rbd device's EXISTS flag if the snapshot it's mapped to
|
* Clear the rbd device's EXISTS flag if the snapshot it's mapped to
|
||||||
* has disappeared from the (just updated) snapshot context.
|
* has disappeared from the (just updated) snapshot context.
|
||||||
@ -3141,7 +3133,7 @@ static int rbd_dev_refresh(struct rbd_device *rbd_dev)
|
|||||||
mapping_size = rbd_dev->mapping.size;
|
mapping_size = rbd_dev->mapping.size;
|
||||||
mutex_lock_nested(&ctl_mutex, SINGLE_DEPTH_NESTING);
|
mutex_lock_nested(&ctl_mutex, SINGLE_DEPTH_NESTING);
|
||||||
if (rbd_dev->image_format == 1)
|
if (rbd_dev->image_format == 1)
|
||||||
ret = rbd_dev_v1_refresh(rbd_dev);
|
ret = rbd_dev_v1_header_info(rbd_dev);
|
||||||
else
|
else
|
||||||
ret = rbd_dev_v2_refresh(rbd_dev);
|
ret = rbd_dev_v2_refresh(rbd_dev);
|
||||||
|
|
||||||
@ -4467,11 +4459,6 @@ static void rbd_dev_unprobe(struct rbd_device *rbd_dev)
|
|||||||
memset(header, 0, sizeof (*header));
|
memset(header, 0, sizeof (*header));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rbd_dev_v1_probe(struct rbd_device *rbd_dev)
|
|
||||||
{
|
|
||||||
return rbd_dev_v1_header_read(rbd_dev);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int rbd_dev_v2_probe(struct rbd_device *rbd_dev)
|
static int rbd_dev_v2_probe(struct rbd_device *rbd_dev)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
@ -4714,7 +4701,7 @@ static int rbd_dev_image_probe(struct rbd_device *rbd_dev, bool read_only)
|
|||||||
goto out_header_name;
|
goto out_header_name;
|
||||||
|
|
||||||
if (rbd_dev->image_format == 1)
|
if (rbd_dev->image_format == 1)
|
||||||
ret = rbd_dev_v1_probe(rbd_dev);
|
ret = rbd_dev_v1_header_info(rbd_dev);
|
||||||
else
|
else
|
||||||
ret = rbd_dev_v2_probe(rbd_dev);
|
ret = rbd_dev_v2_probe(rbd_dev);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
Loading…
Reference in New Issue
Block a user