diff --git a/lustre/ChangeLog b/lustre/ChangeLog index 5430860c5fa07201e67025634c629bb767cf17d0..4e392465d6f609776209f067dcdfbf3d2952c154 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -17,6 +17,12 @@ tbd Sun Microsystems, Inc. * RHEL 4 and RHEL 5/SLES 10 clients behaves differently on 'cd' to a 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 Bugzilla : 14321 Description: lustre_mgs: operation 101 on unconnected MGS diff --git a/lustre/mdc/mdc_request.c b/lustre/mdc/mdc_request.c index 9c25c402508a7d606b4ea65c7c45790adce67355..bf1910f1be50a01f587f743e87ee108daf8e0b39 100644 --- a/lustre/mdc/mdc_request.c +++ b/lustre/mdc/mdc_request.c @@ -573,6 +573,10 @@ void mdc_set_open_replay_data(struct obd_client_handle *och, DLM_REPLY_REC_OFF, sizeof(*body)); + /* If request is not eligible for replay, just bail out */ + if (!open_req->rq_replay) + return; + /* incoming message in my byte order (it's been swabbed) */ LASSERT(rec != NULL); LASSERT(lustre_rep_swabbed(open_req, DLM_REPLY_REC_OFF)); @@ -587,12 +591,6 @@ void mdc_set_open_replay_data(struct obd_client_handle *och, } spin_lock(&open_req->rq_lock); - if (!open_req->rq_replay) { - OBD_FREE(mod, sizeof(*mod)); - spin_unlock(&open_req->rq_lock); - return; - } - och->och_mod = mod; mod->mod_och = och; mod->mod_open_req = open_req;