diff options
-rw-r--r-- | drivers/block/rbd.c | 6 | ||||
-rw-r--r-- | net/ceph/ceph_common.c | 2 | ||||
-rw-r--r-- | net/ceph/osd_client.c | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c index ed0c91d81063..3ba4836f024c 100644 --- a/drivers/block/rbd.c +++ b/drivers/block/rbd.c | |||
@@ -1342,7 +1342,6 @@ static struct ceph_osd_request *rbd_osd_req_create( | |||
1342 | case OBJ_REQUEST_BIO: | 1342 | case OBJ_REQUEST_BIO: |
1343 | rbd_assert(obj_request->bio_list != NULL); | 1343 | rbd_assert(obj_request->bio_list != NULL); |
1344 | osd_req->r_bio = obj_request->bio_list; | 1344 | osd_req->r_bio = obj_request->bio_list; |
1345 | bio_get(osd_req->r_bio); | ||
1346 | /* osd client requires "num pages" even for bio */ | 1345 | /* osd client requires "num pages" even for bio */ |
1347 | osd_req->r_num_pages = calc_pages_for(offset, length); | 1346 | osd_req->r_num_pages = calc_pages_for(offset, length); |
1348 | break; | 1347 | break; |
@@ -4149,6 +4148,11 @@ int __init rbd_init(void) | |||
4149 | { | 4148 | { |
4150 | int rc; | 4149 | int rc; |
4151 | 4150 | ||
4151 | if (!libceph_compatible(NULL)) { | ||
4152 | rbd_warn(NULL, "libceph incompatibility (quitting)"); | ||
4153 | |||
4154 | return -EINVAL; | ||
4155 | } | ||
4152 | rc = rbd_sysfs_init(); | 4156 | rc = rbd_sysfs_init(); |
4153 | if (rc) | 4157 | if (rc) |
4154 | return rc; | 4158 | return rc; |
diff --git a/net/ceph/ceph_common.c b/net/ceph/ceph_common.c index a98c03ff853f..c236c235c4a2 100644 --- a/net/ceph/ceph_common.c +++ b/net/ceph/ceph_common.c | |||
@@ -39,7 +39,7 @@ | |||
39 | */ | 39 | */ |
40 | bool libceph_compatible(void *data) | 40 | bool libceph_compatible(void *data) |
41 | { | 41 | { |
42 | return false; | 42 | return true; |
43 | } | 43 | } |
44 | EXPORT_SYMBOL(libceph_compatible); | 44 | EXPORT_SYMBOL(libceph_compatible); |
45 | 45 | ||
diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c index 500ae8b49321..ba03648533c0 100644 --- a/net/ceph/osd_client.c +++ b/net/ceph/osd_client.c | |||
@@ -147,10 +147,6 @@ void ceph_osdc_release_request(struct kref *kref) | |||
147 | if (req->r_own_pages) | 147 | if (req->r_own_pages) |
148 | ceph_release_page_vector(req->r_pages, | 148 | ceph_release_page_vector(req->r_pages, |
149 | req->r_num_pages); | 149 | req->r_num_pages); |
150 | #ifdef CONFIG_BLOCK | ||
151 | if (req->r_bio) | ||
152 | bio_put(req->r_bio); | ||
153 | #endif | ||
154 | ceph_put_snap_context(req->r_snapc); | 150 | ceph_put_snap_context(req->r_snapc); |
155 | ceph_pagelist_release(&req->r_trail); | 151 | ceph_pagelist_release(&req->r_trail); |
156 | if (req->r_mempool) | 152 | if (req->r_mempool) |