From: wangdi Date: Wed, 12 Jul 2006 08:57:30 +0000 (+0000) Subject: Branch: b_new_cmd X-Git-Tag: v1_8_0_110~486^2~1449 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=9c4dc596f763d00ed01d2b165e2bfb428de5d908;p=fs%2Flustre-release.git Branch: b_new_cmd for new fid implementation, the fid will be allocated at client, So only check fid2 is not enough for setting DISP_ENQ_COMPLETE. --- diff --git a/lustre/mdc/mdc_locks.c b/lustre/mdc/mdc_locks.c index c03dcca..f1b9608 100644 --- a/lustre/mdc/mdc_locks.c +++ b/lustre/mdc/mdc_locks.c @@ -675,7 +675,8 @@ int mdc_intent_lock(struct obd_export *exp, struct md_op_data *op_data, /* If we were revalidating a fid/name pair, mark the intent in * case we fail and get called again from lookup */ - if (fid_is_sane(&op_data->fid2)) { + if (fid_is_sane(&op_data->fid2) && + !it_disposition(it, DISP_OPEN_CREATE)) { it_set_disposition(it, DISP_ENQ_COMPLETE); /* Also: did we find the same inode? */ if (memcmp(&op_data->fid2, &mdt_body->fid1, sizeof(op_data->fid2)))