Whamcloud - gitweb
* Updated ptlrpc_abort_reply() to not simply LBUG(). The current
authoreeb <eeb>
Wed, 7 May 2003 17:03:16 +0000 (17:03 +0000)
committereeb <eeb>
Wed, 7 May 2003 17:03:16 +0000 (17:03 +0000)
    implementation has to poll for the SENT event at 1 second intervals, since
    the SENT callback cannot touch any state in the request.

*   Blindly wrapped all request flag updates in an IRQ spinlock (or just a
    spinlock if already at IRQ priority).  My head hurt too much trying to
    determine whether it was safe to update unlocked, and we know this is
    safe.  Maybe we should split out "owner" and "notifier" flag usage to
    separate words.

lustre/liblustre/file.c

index d656918..8344af5 100644 (file)
@@ -407,7 +407,9 @@ static int llu_mdc_close(struct lustre_handle *mdc_conn, struct inode *inode)
         /* We held on to the request for replay until we saw a close for that
          * file.  Now that we've closed it, it gets replayed on the basis of
          * its transno only. */
+        spin_lock (&fd->fd_mds_och.och_req->rq_lock);
         fd->fd_mds_och.och_req->rq_replay = 0;
+        spin_unlock (&fd->fd_mds_och.och_req->rq_lock);
 
         if (fd->fd_mds_och.och_req->rq_transno) {
                 /* This open created a file, so it needs replay as a