|
@@ -514,7 +514,7 @@ static void rbd_dev_remove_parent(struct rbd_device *rbd_dev);
|
|
|
|
|
|
static int rbd_dev_refresh(struct rbd_device *rbd_dev);
|
|
|
static int rbd_dev_v2_header_onetime(struct rbd_device *rbd_dev);
|
|
|
-static int rbd_dev_v2_header_info(struct rbd_device *rbd_dev);
|
|
|
+static int rbd_dev_header_info(struct rbd_device *rbd_dev);
|
|
|
static const char *rbd_dev_v2_snap_name(struct rbd_device *rbd_dev,
|
|
|
u64 snap_id);
|
|
|
static int _rbd_dev_v2_snap_size(struct rbd_device *rbd_dev, u64 snap_id,
|
|
@@ -3506,13 +3506,10 @@ static int rbd_dev_refresh(struct rbd_device *rbd_dev)
|
|
|
u64 mapping_size;
|
|
|
int ret;
|
|
|
|
|
|
- rbd_assert(rbd_image_format_valid(rbd_dev->image_format));
|
|
|
down_write(&rbd_dev->header_rwsem);
|
|
|
mapping_size = rbd_dev->mapping.size;
|
|
|
- if (rbd_dev->image_format == 1)
|
|
|
- ret = rbd_dev_v1_header_info(rbd_dev);
|
|
|
- else
|
|
|
- ret = rbd_dev_v2_header_info(rbd_dev);
|
|
|
+
|
|
|
+ ret = rbd_dev_header_info(rbd_dev);
|
|
|
|
|
|
/* If it's a mapped snapshot, validate its EXISTS flag */
|
|
|
|
|
@@ -4501,6 +4498,16 @@ static int rbd_dev_v2_header_info(struct rbd_device *rbd_dev)
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
+static int rbd_dev_header_info(struct rbd_device *rbd_dev)
|
|
|
+{
|
|
|
+ rbd_assert(rbd_image_format_valid(rbd_dev->image_format));
|
|
|
+
|
|
|
+ if (rbd_dev->image_format == 1)
|
|
|
+ return rbd_dev_v1_header_info(rbd_dev);
|
|
|
+
|
|
|
+ return rbd_dev_v2_header_info(rbd_dev);
|
|
|
+}
|
|
|
+
|
|
|
static int rbd_bus_add_dev(struct rbd_device *rbd_dev)
|
|
|
{
|
|
|
struct device *dev;
|
|
@@ -5149,10 +5156,7 @@ static int rbd_dev_image_probe(struct rbd_device *rbd_dev, bool mapping)
|
|
|
goto out_header_name;
|
|
|
}
|
|
|
|
|
|
- if (rbd_dev->image_format == 1)
|
|
|
- ret = rbd_dev_v1_header_info(rbd_dev);
|
|
|
- else
|
|
|
- ret = rbd_dev_v2_header_info(rbd_dev);
|
|
|
+ ret = rbd_dev_header_info(rbd_dev);
|
|
|
if (ret)
|
|
|
goto err_out_watch;
|
|
|
|