return ret;
}
-static void rbd_simple_req_cb(struct ceph_osd_request *osd_req,
- struct ceph_msg *msg)
-{
- ceph_osdc_put_request(osd_req);
-}
-
/*
* Do a synchronous ceph osd operation
*/
complete_all(&obj_request->completion);
}
-/*
- * Request sync osd watch
- */
-static int rbd_req_sync_notify_ack(struct rbd_device *rbd_dev,
- u64 ver,
- u64 notify_id)
-{
- struct ceph_osd_req_op *op;
- int ret;
-
- op = rbd_osd_req_op_create(CEPH_OSD_OP_NOTIFY_ACK, notify_id, ver);
- if (!op)
- return -ENOMEM;
-
- ret = rbd_do_request(NULL, rbd_dev, NULL, CEPH_NOSNAP,
- rbd_dev->header_name, 0, 0, NULL,
- NULL, 0,
- CEPH_OSD_FLAG_READ,
- op,
- rbd_simple_req_cb, NULL);
-
- rbd_osd_req_op_destroy(op);
-
- return ret;
-}
-
/*
* Synchronous osd object method call
*/
rbd_warn(rbd_dev, "got notification but failed to "
" update snaps: %d\n", rc);
- (void) rbd_req_sync_notify_ack; /* avoid a warning */
rbd_obj_notify_ack_sync(rbd_dev, hver, notify_id);
}