diff options
Diffstat (limited to 'drivers/block')
-rw-r--r-- | drivers/block/rbd.c | 6 |
1 files changed, 5 insertions, 1 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; |