Skip to content
Snippets Groups Projects
Commit 9d6d94d9 authored by Bobi Jam's avatar Bobi Jam
Browse files

Branch HEAD

b=15010
o=green
i=vitaly
i=adilger

Description: mdc_set_open_replay_data LBUG
Details    : Set replay data for requests that are eligible for replay.
parent 71e71537
No related branches found
No related tags found
No related merge requests found
...@@ -12,6 +12,12 @@ tbd Sun Microsystems, Inc. ...@@ -12,6 +12,12 @@ tbd Sun Microsystems, Inc.
* RHEL 4 and RHEL 5/SLES 10 clients behaves differently on 'cd' to a * RHEL 4 and RHEL 5/SLES 10 clients behaves differently on 'cd' to a
removed cwd "./" (refer to Bugzilla 14399). removed cwd "./" (refer to Bugzilla 14399).
Severity : major
Frequency : frequent on X2 node
Bugzilla : 15010
Description: mdc_set_open_replay_data LBUG
Details : Set replay data for requests that are eligible for replay.
Severity : normal Severity : normal
Bugzilla : 14321 Bugzilla : 14321
Description: lustre_mgs: operation 101 on unconnected MGS Description: lustre_mgs: operation 101 on unconnected MGS
......
...@@ -573,7 +573,7 @@ int mdc_enqueue(struct obd_export *exp, struct ldlm_enqueue_info *einfo, ...@@ -573,7 +573,7 @@ int mdc_enqueue(struct obd_export *exp, struct ldlm_enqueue_info *einfo,
RETURN (-EPROTO); RETURN (-EPROTO);
} }
if (req->rq_replay && it_disposition(it, DISP_OPEN_OPEN) && if (it_disposition(it, DISP_OPEN_OPEN) &&
!it_open_error(DISP_OPEN_OPEN, it)) { !it_open_error(DISP_OPEN_OPEN, it)) {
/* /*
* If this is a successful OPEN request, we need to set * If this is a successful OPEN request, we need to set
......
...@@ -722,6 +722,9 @@ int mdc_set_open_replay_data(struct obd_export *exp, ...@@ -722,6 +722,9 @@ int mdc_set_open_replay_data(struct obd_export *exp,
struct obd_import *imp = open_req->rq_import; struct obd_import *imp = open_req->rq_import;
ENTRY; ENTRY;
if (!open_req->rq_replay)
RETURN(0);
rec = req_capsule_client_get(&open_req->rq_pill, &RMF_REC_REINT); rec = req_capsule_client_get(&open_req->rq_pill, &RMF_REC_REINT);
body = req_capsule_server_get(&open_req->rq_pill, &RMF_MDT_BODY); body = req_capsule_server_get(&open_req->rq_pill, &RMF_MDT_BODY);
LASSERT(rec != NULL); LASSERT(rec != NULL);
...@@ -729,7 +732,7 @@ int mdc_set_open_replay_data(struct obd_export *exp, ...@@ -729,7 +732,7 @@ int mdc_set_open_replay_data(struct obd_export *exp,
/* Outgoing messages always in my byte order. */ /* Outgoing messages always in my byte order. */
LASSERT(body != NULL); LASSERT(body != NULL);
/*Only the import is replayable, we set replay_open data */ /* Only if the import is replayable, we set replay_open data */
if (och && imp->imp_replayable) { if (och && imp->imp_replayable) {
OBD_ALLOC_PTR(mod); OBD_ALLOC_PTR(mod);
if (mod == NULL) { if (mod == NULL) {
...@@ -740,12 +743,6 @@ int mdc_set_open_replay_data(struct obd_export *exp, ...@@ -740,12 +743,6 @@ int mdc_set_open_replay_data(struct obd_export *exp,
CFS_INIT_LIST_HEAD(&mod->mod_replay_list); CFS_INIT_LIST_HEAD(&mod->mod_replay_list);
spin_lock(&open_req->rq_lock); spin_lock(&open_req->rq_lock);
if (!open_req->rq_replay) {
OBD_FREE(mod, sizeof(*mod));
spin_unlock(&open_req->rq_lock);
RETURN(0);
}
och->och_mod = mod; och->och_mod = mod;
mod->mod_och = och; mod->mod_och = och;
open_req->rq_cb_data = mod; open_req->rq_cb_data = mod;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment