diff options
| -rw-r--r-- | drivers/block/rbd.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c index 93369a1a08e1..c259b4089e95 100644 --- a/drivers/block/rbd.c +++ b/drivers/block/rbd.c | |||
| @@ -1889,7 +1889,8 @@ static int rbd_obj_method_sync(struct rbd_device *rbd_dev, | |||
| 1889 | ret = obj_request->result; | 1889 | ret = obj_request->result; |
| 1890 | if (ret < 0) | 1890 | if (ret < 0) |
| 1891 | goto out; | 1891 | goto out; |
| 1892 | ret = ceph_copy_from_page_vector(pages, inbound, 0, | 1892 | ret = 0; |
| 1893 | (void) ceph_copy_from_page_vector(pages, inbound, 0, | ||
| 1893 | obj_request->xferred); | 1894 | obj_request->xferred); |
| 1894 | if (version) | 1895 | if (version) |
| 1895 | *version = obj_request->version; | 1896 | *version = obj_request->version; |
| @@ -2088,7 +2089,9 @@ static int rbd_obj_read_sync(struct rbd_device *rbd_dev, | |||
| 2088 | 2089 | ||
| 2089 | rbd_assert(obj_request->xferred <= (u64) SIZE_MAX); | 2090 | rbd_assert(obj_request->xferred <= (u64) SIZE_MAX); |
| 2090 | size = (size_t) obj_request->xferred; | 2091 | size = (size_t) obj_request->xferred; |
| 2091 | ret = ceph_copy_from_page_vector(pages, buf, 0, size); | 2092 | (void) ceph_copy_from_page_vector(pages, buf, 0, size); |
| 2093 | rbd_assert(size <= (size_t) INT_MAX); | ||
| 2094 | ret = (int) size; | ||
| 2092 | if (version) | 2095 | if (version) |
| 2093 | *version = obj_request->version; | 2096 | *version = obj_request->version; |
| 2094 | out: | 2097 | out: |
| @@ -2141,7 +2144,6 @@ rbd_dev_v1_header_read(struct rbd_device *rbd_dev, u64 *version) | |||
| 2141 | ret = rbd_obj_read_sync(rbd_dev, rbd_dev->header_name, | 2144 | ret = rbd_obj_read_sync(rbd_dev, rbd_dev->header_name, |
| 2142 | 0, size, | 2145 | 0, size, |
| 2143 | (char *) ondisk, version); | 2146 | (char *) ondisk, version); |
| 2144 | |||
| 2145 | if (ret < 0) | 2147 | if (ret < 0) |
| 2146 | goto out_err; | 2148 | goto out_err; |
| 2147 | if (WARN_ON((size_t) ret < size)) { | 2149 | if (WARN_ON((size_t) ret < size)) { |
| @@ -2803,7 +2805,6 @@ static int rbd_dev_v2_object_prefix(struct rbd_device *rbd_dev) | |||
| 2803 | dout("%s: rbd_obj_method_sync returned %d\n", __func__, ret); | 2805 | dout("%s: rbd_obj_method_sync returned %d\n", __func__, ret); |
| 2804 | if (ret < 0) | 2806 | if (ret < 0) |
| 2805 | goto out; | 2807 | goto out; |
| 2806 | ret = 0; /* rbd_obj_method_sync() can return positive */ | ||
| 2807 | 2808 | ||
| 2808 | p = reply_buf; | 2809 | p = reply_buf; |
| 2809 | rbd_dev->header.object_prefix = ceph_extract_encoded_string(&p, | 2810 | rbd_dev->header.object_prefix = ceph_extract_encoded_string(&p, |
| @@ -3742,7 +3743,6 @@ static int rbd_dev_image_id(struct rbd_device *rbd_dev) | |||
| 3742 | dout("%s: rbd_obj_method_sync returned %d\n", __func__, ret); | 3743 | dout("%s: rbd_obj_method_sync returned %d\n", __func__, ret); |
| 3743 | if (ret < 0) | 3744 | if (ret < 0) |
| 3744 | goto out; | 3745 | goto out; |
| 3745 | ret = 0; /* rbd_obj_method_sync() can return positive */ | ||
| 3746 | 3746 | ||
| 3747 | p = response; | 3747 | p = response; |
| 3748 | rbd_dev->spec->image_id = ceph_extract_encoded_string(&p, | 3748 | rbd_dev->spec->image_id = ceph_extract_encoded_string(&p, |
