*
*/
-
#define EXPORT_SYMTAB
#include <linux/version.h>
#include <linux/ext2_fs.h>
#include <linux/quotaops.h>
#include <asm/unistd.h>
+
+#define DEBUG_SUBSYSTEM S_OST
+
#include <linux/obd_support.h>
#include <linux/obd.h>
#include <linux/obd_class.h>
return -ENOMEM;
}
- printk("---> OST at %d %p, incoming req %p, srv_req %p\n",
+ CDEBUG(0, "---> OST at %d %p, incoming req %p, srv_req %p\n",
__LINE__, ost, req, srv_req);
memset(srv_req, 0, sizeof(*req));
int rc;
ENTRY;
- printk("ost getattr entered\n");
conn.oc_id = req->rq_req.ost->connid;
conn.oc_dev = ost->ost_tgt;
req->rq_rep.ost->result =ost->ost_tgt->obd_type->typ_ops->o_connect(&conn);
- printk("ost_connect: rep buffer %p, id %d\n", req->rq_repbuf,
+ CDEBUG(0, "ost_connect: rep buffer %p, id %d\n", req->rq_repbuf,
conn.oc_id);
req->rq_rep.ost->connid = conn.oc_id;
EXIT;
struct ptlreq_hdr *hdr;
ENTRY;
- printk("ost_handle: req at %p\n", req);
+ CDEBUG(0, "req at %p\n", req);
hdr = (struct ptlreq_hdr *)req->rq_reqbuf;
if (NTOH__u32(hdr->type) != OST_TYPE_REQ) {
while (1) {
struct ptlrpc_request request;
+ struct ptlrpc_service *service;
rc = PtlEQGet(ost->ost_service->srv_eq_h, &ev);
if (rc != PTL_OK && rc != PTL_EQ_DROPPED)
break;
+
+ service = (struct ptlrpc_service *)ev.mem_desc.user_ptr;
+
/* FIXME: If we move to an event-driven model,
* we should put the request on the stack of
* mds_handle instead. */
request.rq_peer.peer_ni =
ost->ost_service->srv_self.peer_ni;
rc = ost_handle(obddev, &request);
+
+ /* Inform the rpc layer the event has been handled */
+ ptl_received_rpc(service);
}
} else {
struct ptlrpc_request *request;