diff --git a/lustre/osc/osc_create.c b/lustre/osc/osc_create.c index 07fccc9d0cdedcb8bb672e18dd567b802bbae493..b839e9790f5db8088f7405a34ba0830ad77f2890 100644 --- a/lustre/osc/osc_create.c +++ b/lustre/osc/osc_create.c @@ -280,6 +280,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) { @@ -290,11 +293,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);