#include <stdio.h>
#include "lib/trace.h"
#include "rpc/rpclib.h"
#include "motr/client_internal.h"
#include "layout/plan.h"
#include "iscservice/isc.h"
#include "util.h"
Go to the source code of this file.
|
uint64_t | isc_m0gs (struct m0_obj *obj, struct m0_client *cinst) |
|
void | free_segs (struct m0_bufvec *data, struct m0_indexvec *ext, struct m0_bufvec *attr) |
|
int | alloc_segs (struct m0_bufvec *data, struct m0_indexvec *ext, struct m0_bufvec *attr, uint64_t bsz, uint32_t cnt) |
|
uint64_t | set_exts (struct m0_indexvec *ext, uint64_t off, uint64_t bsz) |
|
int | isc_req_prepare (struct isc_req *req, struct m0_buf *args, const struct m0_fid *comp_fid, struct m0_layout_io_plop *iop, uint32_t reply_len) |
|
void | isc_req_replied (struct m0_rpc_item *item) |
|
static void | ireqs_list_add_in_order (struct isc_req *req) |
|
int | isc_req_send (struct isc_req *req) |
|
static void | fop_fini_lock (struct m0_fop *fop) |
|
void | isc_req_fini (struct isc_req *req) |
|
int | isc_init (struct m0_config *conf, struct m0_client **cinst) |
|
void | isc_fini (struct m0_client *cinst) |
|
◆ DEBUG
◆ alloc_segs()
◆ fop_fini_lock()
static void fop_fini_lock |
( |
struct m0_fop * |
fop | ) |
|
|
static |
◆ free_segs()
◆ ireqs_list_add_in_order()
static void ireqs_list_add_in_order |
( |
struct isc_req * |
req | ) |
|
|
static |
◆ isc_fini()
◆ isc_init()
Initialise Motr-related stuff.
Definition at line 247 of file util.c.
◆ isc_m0gs()
Return parity group size for object.
Definition at line 49 of file util.c.
◆ isc_req_fini()
void isc_req_fini |
( |
struct isc_req * |
req | ) |
|
Finalizes the request, including input and result buffers.
Definition at line 229 of file util.c.
◆ isc_req_prepare()
Prepares a request using provided parameters.
- Parameters
-
[in] | args | Holds arguments for the computation. |
[in] | comp | The unique fid associated with the computation. |
[in] | iopl | IO plop associated with the request. |
[in] | reply_len | Expected length of reply buffer. This is allowed to be greater than the actual length of reply. |
Definition at line 108 of file util.c.
◆ isc_req_replied()
◆ isc_req_send()
int isc_req_send |
( |
struct isc_req * |
req | ) |
|
Sends a request asynchronously.
The request is added to the isc_reqs list maintaining the order by the object unit offset. On reply receipt, isc_sem(aphore) is up-ped. The received reply is populated at req->cir_result. The error code is returned at req->cir_rc.
Note: the isc_reqs list is unprotected, so all the requests should be sent from the same thread.
Definition at line 198 of file util.c.
◆ set_exts()
uint64_t set_exts |
( |
struct m0_indexvec * |
ext, |
|
|
uint64_t |
off, |
|
|
uint64_t |
bsz |
|
) |
| |
◆ container
◆ dix_conf
◆ isc_item_ops
Initial value:= {
}
void isc_req_replied(struct m0_rpc_item *item)
Definition at line 176 of file util.c.
◆ isc_reqs
◆ isc_sem
◆ m0trace_on
◆ trace_level
◆ uber_realm