now try each server in the failover group every 10 seconds. By
default, clients would previously try one server every 25 seconds.
+Severity : major
+Frequency : rare
+Bugzilla : 6371
+Description: After recovery, certain operations trigger a failed
+ assertion on a client.
+Details : Failing over an mds, using lconf -d --failover, while a
+ client was doing a readdir() call would cause the client to
+ LBUG after recovery completed and the readdir() was resent.
+
------------------------------------------------------------------------------
2005-05-05 Cluster File Systems, Inc. <info@clusterfs.com>
if (req->rq_resend) {
lustre_msg_add_flags(req->rq_reqmsg, MSG_RESENT);
- if (req->rq_bulk != NULL)
+ if (req->rq_bulk != NULL) {
ptlrpc_unregister_bulk (req);
+ /* bulk requests are supposed to be
+ * idempotent, so we are free to bump the xid
+ * here, which we need to do before
+ * registering the bulk again (bug 6371).
+ * print the old xid first for sanity.
+ */
+ DEBUG_REQ(D_HA, req, "bumping xid for bulk: ");
+ req->rq_xid = ptlrpc_next_xid();
+ }
+
DEBUG_REQ(D_HA, req, "resending: ");
}