{
struct lovsub_object *los = lu2lovsub(obj);
struct lov_object *lov = los->lso_super;
+ ENTRY;
- LASSERT(lov->lo_type == LLT_RAID0);
- LASSERT(lov->u.raid0.lo_sub[los->lso_index] == los);
+ /* We can't assume lov was assigned here, because of the shadow
+ * object handling in lu_object_find.
+ */
+ if (lov) {
+ LASSERT(lov->lo_type == LLT_RAID0);
+ LASSERT(lov->u.raid0.lo_sub[los->lso_index] == los);
+ lov->u.raid0.lo_sub[los->lso_index] = NULL;
+ }
- ENTRY;
- lov->u.raid0.lo_sub[los->lso_index] = NULL;
lu_object_fini(obj);
lu_object_header_fini(&los->lso_header.coh_lu);
OBD_SLAB_FREE_PTR(los, lovsub_object_kmem);