diff --git a/lustre/osc/osc_create.c b/lustre/osc/osc_create.c index b0223042b0507189d06dd52163cc4ee71642ab25..b34341b81b64c423ae1345ee875b4a92de517802 100644 --- a/lustre/osc/osc_create.c +++ b/lustre/osc/osc_create.c @@ -283,6 +283,9 @@ int osc_precreate(struct obd_export *exp) if (imp != NULL && imp->imp_deactive) RETURN(1000); + if (oscc_recovering(oscc)) + RETURN(2); + if (oscc->oscc_last_id < oscc->oscc_next_id) { spin_lock(&oscc->oscc_lock); if (oscc->oscc_flags & OSCC_FLAG_NOSPC) { @@ -293,11 +296,6 @@ int osc_precreate(struct obd_export *exp) spin_unlock(&oscc->oscc_lock); RETURN(1); } - if (oscc->oscc_flags & OSCC_FLAG_RECOVERING) { - spin_unlock(&oscc->oscc_lock); - RETURN(2); - } - if (oscc->oscc_flags & OSCC_FLAG_CREATING) { spin_unlock(&oscc->oscc_lock); RETURN(1);