Whamcloud - gitweb
b=892
authorpschwan <pschwan>
Thu, 20 Feb 2003 22:07:11 +0000 (22:07 +0000)
committerpschwan <pschwan>
Thu, 20 Feb 2003 22:07:11 +0000 (22:07 +0000)
osc_close used to walk through the request list, trying to find the
corresponding osc_open.  This is slow, racy and doomed to failure, so we
need to instead save a point to the request in osc_open.

Instead of passing a handle up to whoever called us, pass 32 bytes of
opaque data.  These get passed back to us at various points, through
the obdo's inline field.

lustre/mds/mds_open.c

index 195c16a..845afd7 100644 (file)
@@ -68,6 +68,7 @@ void reconstruct_open(struct mds_update_record *rec, struct ptlrpc_request *req)
         struct ldlm_reply *rep = lustre_msg_buf(req->rq_repmsg, 0);
         struct mds_body *body = lustre_msg_buf(req->rq_repmsg, 1);
         int disp;
+        ENTRY;
 
         /* copy rc, transno and disp; steal locks */