ENTRY;
result = +1;
- OBD_SLAB_ALLOC_PTR(page, cl_page_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(page, cl_page_kmem, CFS_ALLOC_IO);
if (page != NULL) {
atomic_set(&page->cp_ref, 1);
page->cp_obj = o;
ENTRY;
CL_PAGE_HEADER(D_TRACE, env, pg, "%i %i\n", crt, ioret);
- if (crt == CRT_READ) {
+ if (crt == CRT_READ && ioret == 0) {
PASSERT(env, pg, !(pg->cp_flags & CPF_READ_COMPLETED));
pg->cp_flags |= CPF_READ_COMPLETED;
}