static int lov_page_stripe(const struct cl_page *page)
{
- struct lovsub_object *subobj;
+ struct lovsub_object *subobj;
+ const struct cl_page_slice *slice;
+ ENTRY;
- ENTRY;
- subobj = lu2lovsub(
- lu_object_locate(page->cp_child->cp_obj->co_lu.lo_header,
- &lovsub_device_type));
- LASSERT(subobj != NULL);
- RETURN(subobj->lso_index);
+ slice = cl_page_at(page, &lovsub_device_type);
+ LASSERT(slice != NULL);
+ LASSERT(slice->cpl_obj != NULL);
+
+ subobj = cl2lovsub(slice->cpl_obj);
+ RETURN(subobj->lso_index);
}
struct lov_io_sub *lov_page_subio(const struct lu_env *env, struct lov_io *lio,