Skip to content

Commit

Permalink
rbd: snap names are pointer to constant data
Browse files Browse the repository at this point in the history
Make explicit that snapshot names don't change by making functions
return and take parameters that that point to const qualified data.

This resolves:
    http://tracker.ceph.com/issues/4867

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
  • Loading branch information
Alex Elder authored and Sage Weil committed May 2, 2013
1 parent a3fbe5d commit cb75223
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions drivers/block/rbd.c
Original file line number Diff line number Diff line change
Expand Up @@ -3435,10 +3435,10 @@ static struct rbd_snap *rbd_snap_create(struct rbd_device *rbd_dev,
* Returns a dynamically-allocated snapshot name if successful, or a
* pointer-coded error otherwise.
*/
static char *rbd_dev_v1_snap_info(struct rbd_device *rbd_dev, u32 which,
static const char *rbd_dev_v1_snap_info(struct rbd_device *rbd_dev, u32 which,
u64 *snap_size, u64 *snap_features)
{
char *snap_name;
const char *snap_name;
int i;

rbd_assert(which < rbd_dev->header.snapc->num_snaps);
Expand Down Expand Up @@ -3907,7 +3907,7 @@ static int rbd_dev_v2_snap_context(struct rbd_device *rbd_dev, u64 *ver)
return ret;
}

static char *rbd_dev_v2_snap_name(struct rbd_device *rbd_dev, u32 which)
static const char *rbd_dev_v2_snap_name(struct rbd_device *rbd_dev, u32 which)
{
size_t size;
void *reply_buf;
Expand Down Expand Up @@ -3948,13 +3948,13 @@ static char *rbd_dev_v2_snap_name(struct rbd_device *rbd_dev, u32 which)
return snap_name;
}

static char *rbd_dev_v2_snap_info(struct rbd_device *rbd_dev, u32 which,
static const char *rbd_dev_v2_snap_info(struct rbd_device *rbd_dev, u32 which,
u64 *snap_size, u64 *snap_features)
{
u64 snap_id;
u64 size;
u64 features;
char *snap_name;
const char *snap_name;
int ret;

rbd_assert(which < rbd_dev->header.snapc->num_snaps);
Expand All @@ -3978,7 +3978,7 @@ static char *rbd_dev_v2_snap_info(struct rbd_device *rbd_dev, u32 which,
return ERR_PTR(ret);
}

static char *rbd_dev_snap_info(struct rbd_device *rbd_dev, u32 which,
static const char *rbd_dev_snap_info(struct rbd_device *rbd_dev, u32 which,
u64 *snap_size, u64 *snap_features)
{
if (rbd_dev->image_format == 1)
Expand Down Expand Up @@ -4045,7 +4045,7 @@ static int rbd_dev_snaps_update(struct rbd_device *rbd_dev)
while (index < snap_count || links != head) {
u64 snap_id;
struct rbd_snap *snap;
char *snap_name;
const char *snap_name;
u64 snap_size = 0;
u64 snap_features = 0;

Expand Down

0 comments on commit cb75223

Please sign in to comment.