#include <linux/module.h>
#include <linux/lustre_dlm.h>
#include <linux/obd_ost.h>
+#include <linux/lustre_debug.h>
static void osc_con2cl(struct obd_conn *conn, struct ptlrpc_client **cl,
struct ptlrpc_connection **connection)
request->rq_replen = lustre_msg_size(1, &size);
rc = ptlrpc_queue_wait(request);
- if (rc)
+ rc = ptlrpc_check_status(request, rc);
+ if (rc) {
+ CERROR("%s failed: rc = %d\n", __FUNCTION__, rc);
GOTO(out, rc);
+ }
body = lustre_msg_buf(request->rq_repmsg, 0);
CDEBUG(D_INODE, "received connid %d\n", body->connid);
request->rq_replen = lustre_msg_size(1, &size);
rc = ptlrpc_queue_wait(request);
- if (rc)
+ rc = ptlrpc_check_status(request, rc);
+ if (rc) {
+ CERROR("%s failed: rc = %d\n", __FUNCTION__, rc);
GOTO(out, rc);
+ }
body = lustre_msg_buf(request->rq_repmsg, 0);
CDEBUG(D_INODE, "mode: %o\n", body->oa.o_mode);
request->rq_replen = lustre_msg_size(1, &size);
rc = ptlrpc_queue_wait(request);
+ rc = ptlrpc_check_status(request, rc);
if (rc)
GOTO(out, rc);
request->rq_replen = lustre_msg_size(1, &size);
rc = ptlrpc_queue_wait(request);
+ rc = ptlrpc_check_status(request, rc);
if (rc)
GOTO(out, rc);
request->rq_replen = lustre_msg_size(1, &size);
rc = ptlrpc_queue_wait(request);
+ rc = ptlrpc_check_status(request, rc);
GOTO(out, rc);
out:
request->rq_replen = lustre_msg_size(1, &size);
rc = ptlrpc_queue_wait(request);
+ rc = ptlrpc_check_status(request, rc);
if (rc)
GOTO(out, rc);
request->rq_replen = lustre_msg_size(1, &size);
rc = ptlrpc_queue_wait(request);
+ rc = ptlrpc_check_status(request, rc);
if (rc)
GOTO(out, rc);
request->rq_replen = lustre_msg_size(1, &size);
rc = ptlrpc_queue_wait(request);
+ rc = ptlrpc_check_status(request, rc);
if (rc)
GOTO(out, rc);
struct ptlrpc_bulk_page *page;
ENTRY;
+ ASSERT_FILE_OFFSET(NTOH__u64(src->offset),
+ RETURN(dump_rniobuf(dst) | dump_lniobuf(src)));
page = ptlrpc_prep_bulk_page(desc);
if (page == NULL)
RETURN(-ENOMEM);
request->rq_replen = lustre_msg_size(1, size);
rc = ptlrpc_queue_wait(request);
+ rc = ptlrpc_check_status(request, rc);
if (rc)
ptlrpc_abort_bulk(desc);
GOTO(out, rc);
osc_con2cl(conn, &cl, &connection);
request = ptlrpc_prep_req(cl, connection, OST_BRW, 3, size, NULL);
if (!request)
- GOTO(out3, rc = -ENOMEM);
+ GOTO(out, rc = -ENOMEM);
body = lustre_msg_buf(request->rq_reqmsg, 0);
body->data = OBD_BRW_WRITE;
request->rq_replen = lustre_msg_size(2, size);
rc = ptlrpc_queue_wait(request);
+ rc = ptlrpc_check_status(request, rc);
if (rc)
GOTO(out2, rc);
ost_unpack_niobuf(&ptr2, &remote);
rc = osc_sendpage(desc, remote, &local[pages]);
if (rc)
- GOTO(out, rc);
+ GOTO(out3, rc);
}
}
rc = ptlrpc_send_bulk(desc);
- GOTO(out, rc);
+ GOTO(out3, rc);
- out:
+ out3:
ptlrpc_free_bulk(desc);
out2:
ptlrpc_free_req(request);
for (pages = 0, i = 0; i < num_oa; i++)
for (j = 0; j < oa_bufs[i]; j++, pages++)
kunmap(buf[pages]);
- out3:
+ out:
OBD_FREE(local, pages * sizeof(*local));
return rc;