- } else
- CERROR("%s: File \"%s\" is not an index!\n",
- fld->lsf_name, fld_index_name);
+ } else if (rc == -ERANGE) {
+ CWARN("%s: File \"%s\" doesn't support range lookup, "
+ "using stub. DNE and FIDs on OST will not work "
+ "with this backend\n",
+ fld->lsf_name, fld_index_name);
+
+ LASSERT(dt_obj->do_index_ops == NULL);
+ fld->lsf_no_range_lookup = 1;
+ rc = 0;
+ } else {
+ CERROR("%s: File \"%s\" is not index, rc %d!\n",
+ fld->lsf_name, fld_index_name, rc);
+ lu_object_put(env, &fld->lsf_obj->do_lu);
+ fld->lsf_obj = NULL;
+ }