From 9c4dc596f763d00ed01d2b165e2bfb428de5d908 Mon Sep 17 00:00:00 2001 From: wangdi Date: Wed, 12 Jul 2006 08:57:30 +0000 Subject: [PATCH] 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. --- lustre/mdc/mdc_locks.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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))) -- 1.8.3.1