diff options
author | Ilya Dryomov <idryomov@gmail.com> | 2017-01-25 12:16:22 -0500 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2017-02-20 06:16:14 -0500 |
commit | 5bc3fb177548503735bcc35fe98475d883740ecb (patch) | |
tree | f48c80317a9fc3c82f436bee3cddb75bf8750025 | |
parent | 03acf083355ffeb89b9269d205004d6d888fff99 (diff) |
rbd: use rbd_obj_bytes() more
Returning u64 doesn't make sense: max header->obj_order is 25 and
ceph_file_layout::object_size is u32.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
-rw-r--r-- | drivers/block/rbd.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c index e2ffd4fffd06..55e30db0576d 100644 --- a/drivers/block/rbd.c +++ b/drivers/block/rbd.c | |||
@@ -971,6 +971,14 @@ static bool rbd_dev_ondisk_valid(struct rbd_image_header_ondisk *ondisk) | |||
971 | } | 971 | } |
972 | 972 | ||
973 | /* | 973 | /* |
974 | * returns the size of an object in the image | ||
975 | */ | ||
976 | static u32 rbd_obj_bytes(struct rbd_image_header *header) | ||
977 | { | ||
978 | return 1U << header->obj_order; | ||
979 | } | ||
980 | |||
981 | /* | ||
974 | * Fill an rbd image header with information from the given format 1 | 982 | * Fill an rbd image header with information from the given format 1 |
975 | * on-disk header. | 983 | * on-disk header. |
976 | */ | 984 | */ |
@@ -1255,7 +1263,7 @@ static const char *rbd_segment_name(struct rbd_device *rbd_dev, u64 offset) | |||
1255 | 1263 | ||
1256 | static u64 rbd_segment_offset(struct rbd_device *rbd_dev, u64 offset) | 1264 | static u64 rbd_segment_offset(struct rbd_device *rbd_dev, u64 offset) |
1257 | { | 1265 | { |
1258 | u64 segment_size = (u64) 1 << rbd_dev->header.obj_order; | 1266 | u64 segment_size = rbd_obj_bytes(&rbd_dev->header); |
1259 | 1267 | ||
1260 | return offset & (segment_size - 1); | 1268 | return offset & (segment_size - 1); |
1261 | } | 1269 | } |
@@ -1263,7 +1271,7 @@ static u64 rbd_segment_offset(struct rbd_device *rbd_dev, u64 offset) | |||
1263 | static u64 rbd_segment_length(struct rbd_device *rbd_dev, | 1271 | static u64 rbd_segment_length(struct rbd_device *rbd_dev, |
1264 | u64 offset, u64 length) | 1272 | u64 offset, u64 length) |
1265 | { | 1273 | { |
1266 | u64 segment_size = (u64) 1 << rbd_dev->header.obj_order; | 1274 | u64 segment_size = rbd_obj_bytes(&rbd_dev->header); |
1267 | 1275 | ||
1268 | offset &= segment_size - 1; | 1276 | offset &= segment_size - 1; |
1269 | 1277 | ||
@@ -1275,14 +1283,6 @@ static u64 rbd_segment_length(struct rbd_device *rbd_dev, | |||
1275 | } | 1283 | } |
1276 | 1284 | ||
1277 | /* | 1285 | /* |
1278 | * returns the size of an object in the image | ||
1279 | */ | ||
1280 | static u64 rbd_obj_bytes(struct rbd_image_header *header) | ||
1281 | { | ||
1282 | return 1 << header->obj_order; | ||
1283 | } | ||
1284 | |||
1285 | /* | ||
1286 | * bio helpers | 1286 | * bio helpers |
1287 | */ | 1287 | */ |
1288 | 1288 | ||
@@ -2721,7 +2721,7 @@ static int rbd_img_obj_parent_read_full(struct rbd_obj_request *obj_request) | |||
2721 | * child image to which the original request was to be sent. | 2721 | * child image to which the original request was to be sent. |
2722 | */ | 2722 | */ |
2723 | img_offset = obj_request->img_offset - obj_request->offset; | 2723 | img_offset = obj_request->img_offset - obj_request->offset; |
2724 | length = (u64)1 << rbd_dev->header.obj_order; | 2724 | length = rbd_obj_bytes(&rbd_dev->header); |
2725 | 2725 | ||
2726 | /* | 2726 | /* |
2727 | * There is no defined parent data beyond the parent | 2727 | * There is no defined parent data beyond the parent |
@@ -5130,7 +5130,7 @@ static int rbd_dev_v2_striping_info(struct rbd_device *rbd_dev) | |||
5130 | * out, and only fail if the image has non-default values. | 5130 | * out, and only fail if the image has non-default values. |
5131 | */ | 5131 | */ |
5132 | ret = -EINVAL; | 5132 | ret = -EINVAL; |
5133 | obj_size = (u64)1 << rbd_dev->header.obj_order; | 5133 | obj_size = rbd_obj_bytes(&rbd_dev->header); |
5134 | p = &striping_info_buf; | 5134 | p = &striping_info_buf; |
5135 | stripe_unit = ceph_decode_64(&p); | 5135 | stripe_unit = ceph_decode_64(&p); |
5136 | if (stripe_unit != obj_size) { | 5136 | if (stripe_unit != obj_size) { |