mask (i.e., without CFS_ALLOC_FS), thus preventing file system re-entrance.
b=18499
i=alexander.zarochentsev@sun.com
i=adilger@sun.com
34 files changed:
OBD_SLAB_ALLOC((ptr), (slab), CFS_ALLOC_STD, sizeof *(ptr))
#define OBD_SLAB_FREE_PTR(ptr, slab) \
OBD_SLAB_FREE((ptr), (slab), sizeof *(ptr))
OBD_SLAB_ALLOC((ptr), (slab), CFS_ALLOC_STD, sizeof *(ptr))
#define OBD_SLAB_FREE_PTR(ptr, slab) \
OBD_SLAB_FREE((ptr), (slab), sizeof *(ptr))
+#define OBD_SLAB_ALLOC_PTR_GFP(ptr, slab, gfp) \
+ OBD_SLAB_ALLOC((ptr), (slab), (gfp), sizeof *(ptr))
#define KEY_IS(str) \
(keylen >= (sizeof(str)-1) && memcmp(key, str, (sizeof(str)-1)) == 0)
#define KEY_IS(str) \
(keylen >= (sizeof(str)-1) && memcmp(key, str, (sizeof(str)-1)) == 0)
{
struct ccc_thread_info *info;
{
struct ccc_thread_info *info;
- OBD_SLAB_ALLOC_PTR(info, ccc_thread_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(info, ccc_thread_kmem, CFS_ALLOC_IO);
if (info == NULL)
info = ERR_PTR(-ENOMEM);
return info;
if (info == NULL)
info = ERR_PTR(-ENOMEM);
return info;
{
struct ccc_session *session;
{
struct ccc_session *session;
- OBD_SLAB_ALLOC_PTR(session, ccc_session_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(session, ccc_session_kmem, CFS_ALLOC_IO);
if (session == NULL)
session = ERR_PTR(-ENOMEM);
return session;
if (session == NULL)
session = ERR_PTR(-ENOMEM);
return session;
struct ccc_req *vrq;
int result;
struct ccc_req *vrq;
int result;
- OBD_SLAB_ALLOC_PTR(vrq, ccc_req_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(vrq, ccc_req_kmem, CFS_ALLOC_IO);
if (vrq != NULL) {
cl_req_slice_add(req, &vrq->crq_cl, dev, &ccc_req_ops);
result = 0;
if (vrq != NULL) {
cl_req_slice_add(req, &vrq->crq_cl, dev, &ccc_req_ops);
result = 0;
struct ccc_object *vob;
struct lu_object *obj;
struct ccc_object *vob;
struct lu_object *obj;
- OBD_SLAB_ALLOC_PTR(vob, ccc_object_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(vob, ccc_object_kmem, CFS_ALLOC_IO);
if (vob != NULL) {
struct cl_object_header *hdr;
if (vob != NULL) {
struct cl_object_header *hdr;
CLOBINVRNT(env, obj, ccc_object_invariant(obj));
CLOBINVRNT(env, obj, ccc_object_invariant(obj));
- OBD_SLAB_ALLOC_PTR(clk, ccc_lock_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(clk, ccc_lock_kmem, CFS_ALLOC_IO);
if (clk != NULL) {
cl_lock_slice_add(lock, &clk->clk_cl, obj, lkops);
result = 0;
if (clk != NULL) {
cl_lock_slice_add(lock, &clk->clk_cl, obj, lkops);
result = 0;
ENTRY;
LASSERT(lock->l_resource->lr_type == LDLM_EXTENT);
ENTRY;
LASSERT(lock->l_resource->lr_type == LDLM_EXTENT);
- OBD_SLAB_ALLOC(node, ldlm_interval_slab, CFS_ALLOC_IO, sizeof(*node));
+ OBD_SLAB_ALLOC_PTR_GFP(node, ldlm_interval_slab, CFS_ALLOC_IO);
if (node == NULL)
RETURN(NULL);
if (node == NULL)
RETURN(NULL);
if (resource == NULL)
LBUG();
if (resource == NULL)
LBUG();
- OBD_SLAB_ALLOC(lock, ldlm_lock_slab, CFS_ALLOC_IO, sizeof(*lock));
+ OBD_SLAB_ALLOC_PTR_GFP(lock, ldlm_lock_slab, CFS_ALLOC_IO);
if (lock == NULL)
RETURN(NULL);
if (lock == NULL)
RETURN(NULL);
* have to allocate the interval node early otherwise we can't regrant
* this lock in the future. - jay */
if (!local && (*flags & LDLM_FL_REPLAY) && res->lr_type == LDLM_EXTENT)
* have to allocate the interval node early otherwise we can't regrant
* this lock in the future. - jay */
if (!local && (*flags & LDLM_FL_REPLAY) && res->lr_type == LDLM_EXTENT)
- OBD_SLAB_ALLOC(node, ldlm_interval_slab, CFS_ALLOC_IO,
- sizeof(*node));
+ OBD_SLAB_ALLOC_PTR_GFP(node, ldlm_interval_slab, CFS_ALLOC_IO);
lock_res_and_lock(lock);
if (local && lock->l_req_mode == lock->l_granted_mode) {
lock_res_and_lock(lock);
if (local && lock->l_req_mode == lock->l_granted_mode) {
/* I can't check the type of lock here because the bitlock of lock
* is not held here, so do the allocation blindly. -jay */
/* I can't check the type of lock here because the bitlock of lock
* is not held here, so do the allocation blindly. -jay */
- OBD_SLAB_ALLOC(node, ldlm_interval_slab, CFS_ALLOC_IO, sizeof(*node));
+ OBD_SLAB_ALLOC_PTR_GFP(node, ldlm_interval_slab, CFS_ALLOC_IO);
if (node == NULL) /* Actually, this causes EDEADLOCK to be returned */
RETURN(NULL);
if (node == NULL) /* Actually, this causes EDEADLOCK to be returned */
RETURN(NULL);
struct ldlm_resource *res;
int idx;
struct ldlm_resource *res;
int idx;
- OBD_SLAB_ALLOC(res, ldlm_resource_slab, CFS_ALLOC_IO, sizeof *res);
+ OBD_SLAB_ALLOC_PTR_GFP(res, ldlm_resource_slab, CFS_ALLOC_IO);
if (res == NULL)
return NULL;
if (res == NULL)
return NULL;
{
struct ll_file_data *fd;
{
struct ll_file_data *fd;
- OBD_SLAB_ALLOC_PTR(fd, ll_file_data_slab);
+ OBD_SLAB_ALLOC_PTR_GFP(fd, ll_file_data_slab, CFS_ALLOC_IO);
{
struct ll_remote_perm *lrp;
{
struct ll_remote_perm *lrp;
- OBD_SLAB_ALLOC(lrp, ll_remote_perm_cachep, GFP_KERNEL, sizeof(*lrp));
+ OBD_SLAB_ALLOC_PTR_GFP(lrp, ll_remote_perm_cachep, GFP_KERNEL);
if (lrp)
INIT_HLIST_NODE(&lrp->lrp_list);
return lrp;
if (lrp)
INIT_HLIST_NODE(&lrp->lrp_list);
return lrp;
{
struct ll_inode_info *lli;
ll_stats_ops_tally(ll_s2sbi(sb), LPROC_LL_ALLOC_INODE, 1);
{
struct ll_inode_info *lli;
ll_stats_ops_tally(ll_s2sbi(sb), LPROC_LL_ALLOC_INODE, 1);
- OBD_SLAB_ALLOC_PTR(lli, ll_inode_cachep);
+ OBD_SLAB_ALLOC_PTR_GFP(lli, ll_inode_cachep, CFS_ALLOC_IO);
if (lli == NULL)
return NULL;
if (lli == NULL)
return NULL;
{
struct vvp_thread_info *info;
{
struct vvp_thread_info *info;
- OBD_SLAB_ALLOC_PTR(info, vvp_thread_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(info, vvp_thread_kmem, CFS_ALLOC_IO);
if (info == NULL)
info = ERR_PTR(-ENOMEM);
return info;
if (info == NULL)
info = ERR_PTR(-ENOMEM);
return info;
{
struct vvp_session *session;
{
struct vvp_session *session;
- OBD_SLAB_ALLOC_PTR(session, vvp_session_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(session, vvp_session_kmem, CFS_ALLOC_IO);
if (session == NULL)
session = ERR_PTR(-ENOMEM);
return session;
if (session == NULL)
session = ERR_PTR(-ENOMEM);
return session;
CLOBINVRNT(env, obj, ccc_object_invariant(obj));
CLOBINVRNT(env, obj, ccc_object_invariant(obj));
- OBD_SLAB_ALLOC_PTR(cpg, vvp_page_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(cpg, vvp_page_kmem, CFS_ALLOC_IO);
if (cpg != NULL) {
cpg->cpg_page = vmpage;
page_cache_get(vmpage);
if (cpg != NULL) {
cpg->cpg_page = vmpage;
page_cache_get(vmpage);
|| mea->mea_magic == MEA_MAGIC_ALL_CHARS
|| mea->mea_magic == MEA_MAGIC_HASH_SEGMENT);
|| mea->mea_magic == MEA_MAGIC_ALL_CHARS
|| mea->mea_magic == MEA_MAGIC_HASH_SEGMENT);
- OBD_SLAB_ALLOC(obj, lmv_object_cache, CFS_ALLOC_STD,
- sizeof(*obj));
+ OBD_SLAB_ALLOC_PTR(obj, lmv_object_cache);
{
struct lov_thread_info *info;
{
struct lov_thread_info *info;
- OBD_SLAB_ALLOC_PTR(info, lov_thread_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(info, lov_thread_kmem, CFS_ALLOC_IO);
if (info != NULL)
CFS_INIT_LIST_HEAD(&info->lti_closure.clc_list);
else
if (info != NULL)
CFS_INIT_LIST_HEAD(&info->lti_closure.clc_list);
else
{
struct lov_session *info;
{
struct lov_session *info;
- OBD_SLAB_ALLOC_PTR(info, lov_session_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(info, lov_session_kmem, CFS_ALLOC_IO);
if (info == NULL)
info = ERR_PTR(-ENOMEM);
return info;
if (info == NULL)
info = ERR_PTR(-ENOMEM);
return info;
- OBD_SLAB_ALLOC_PTR(lr, lov_req_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(lr, lov_req_kmem, CFS_ALLOC_IO);
if (lr != NULL) {
cl_req_slice_add(req, &lr->lr_cl, dev, &lov_req_ops);
result = 0;
if (lr != NULL) {
cl_req_slice_add(req, &lr->lr_cl, dev, &lov_req_ops);
result = 0;
return NULL;;
for (i = 0; i < stripe_count; i++) {
return NULL;;
for (i = 0; i < stripe_count; i++) {
- OBD_SLAB_ALLOC(loi, lov_oinfo_slab, CFS_ALLOC_IO, sizeof(*loi));
+ OBD_SLAB_ALLOC_PTR_GFP(loi, lov_oinfo_slab, CFS_ALLOC_IO);
if (loi == NULL)
goto err;
lsm->lsm_oinfo[i] = loi;
if (loi == NULL)
goto err;
lsm->lsm_oinfo[i] = loi;
LASSERT(idx < lck->lls_nr);
ENTRY;
LASSERT(idx < lck->lls_nr);
ENTRY;
- OBD_SLAB_ALLOC_PTR(link, lov_lock_link_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(link, lov_lock_link_kmem, CFS_ALLOC_IO);
if (link != NULL) {
struct lov_sublock_env *subenv;
struct lov_lock_sub *lls;
if (link != NULL) {
struct lov_sublock_env *subenv;
struct lov_lock_sub *lls;
descr->cld_start = cl_index(descr->cld_obj, start);
descr->cld_end = cl_index(descr->cld_obj, end);
descr->cld_mode = parent->cll_descr.cld_mode;
descr->cld_start = cl_index(descr->cld_obj, start);
descr->cld_end = cl_index(descr->cld_obj, end);
descr->cld_mode = parent->cll_descr.cld_mode;
+ /* XXX has no effect */
lck->lls_sub[nr].sub_got = *descr;
lck->lls_sub[nr].sub_stripe = stripe;
nr++;
lck->lls_sub[nr].sub_got = *descr;
lck->lls_sub[nr].sub_stripe = stripe;
nr++;
- OBD_SLAB_ALLOC_PTR(lck, lov_lock_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(lck, lov_lock_kmem, CFS_ALLOC_IO);
if (lck != NULL) {
cl_lock_slice_add(lock, &lck->lls_cl, obj, &lov_lock_ops);
result = lov_lock_sub_init(env, lck, io);
if (lck != NULL) {
cl_lock_slice_add(lock, &lck->lls_cl, obj, &lov_lock_ops);
result = lov_lock_sub_init(env, lck, io);
struct lu_object *obj;
ENTRY;
struct lu_object *obj;
ENTRY;
- OBD_SLAB_ALLOC_PTR(lov, lov_object_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(lov, lov_object_kmem, CFS_ALLOC_IO);
if (lov != NULL) {
obj = lov2lu(lov);
lu_object_init(obj, NULL, dev);
if (lov != NULL) {
obj = lov2lu(lov);
lu_object_init(obj, NULL, dev);
- OBD_SLAB_ALLOC_PTR(lpg, lov_page_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(lpg, lov_page_kmem, CFS_ALLOC_IO);
if (lpg != NULL) {
loff_t offset;
int stripe;
if (lpg != NULL) {
loff_t offset;
int stripe;
int result = -ENOMEM;
ENTRY;
int result = -ENOMEM;
ENTRY;
- OBD_SLAB_ALLOC_PTR(lpg, lov_page_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(lpg, lov_page_kmem, CFS_ALLOC_IO);
if (lpg != NULL) {
void *addr;
cl_page_slice_add(page, &lpg->lps_cl,
if (lpg != NULL) {
void *addr;
cl_page_slice_add(page, &lpg->lps_cl,
struct lovsub_req *lsr;
int result;
struct lovsub_req *lsr;
int result;
- OBD_SLAB_ALLOC_PTR(lsr, lovsub_req_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(lsr, lovsub_req_kmem, CFS_ALLOC_IO);
if (lsr != NULL) {
cl_req_slice_add(req, &lsr->lsrq_cl, dev, &lovsub_req_ops);
result = 0;
if (lsr != NULL) {
cl_req_slice_add(req, &lsr->lsrq_cl, dev, &lovsub_req_ops);
result = 0;
- OBD_SLAB_ALLOC_PTR(lsk, lovsub_lock_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(lsk, lovsub_lock_kmem, CFS_ALLOC_IO);
if (lsk != NULL) {
CFS_INIT_LIST_HEAD(&lsk->lss_parents);
cl_lock_slice_add(lock, &lsk->lss_cl, obj, &lovsub_lock_ops);
if (lsk != NULL) {
CFS_INIT_LIST_HEAD(&lsk->lss_parents);
cl_lock_slice_add(lock, &lsk->lss_cl, obj, &lovsub_lock_ops);
struct lu_object *obj;
ENTRY;
struct lu_object *obj;
ENTRY;
- OBD_SLAB_ALLOC_PTR(los, lovsub_object_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(los, lovsub_object_kmem, CFS_ALLOC_IO);
if (los != NULL) {
struct cl_object_header *hdr;
if (los != NULL) {
struct cl_object_header *hdr;
- OBD_SLAB_ALLOC_PTR(lsb, lovsub_page_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(lsb, lovsub_page_kmem, CFS_ALLOC_IO);
if (lsb != NULL) {
cl_page_slice_add(page, &lsb->lsb_cl, obj, &lovsub_page_ops);
result = 0;
if (lsb != NULL) {
cl_page_slice_add(page, &lsb->lsb_cl, obj, &lovsub_page_ops);
result = 0;
{
struct fsfilt_cb_data *fcb;
{
struct fsfilt_cb_data *fcb;
- OBD_SLAB_ALLOC(fcb, fcb_cache, CFS_ALLOC_IO, sizeof *fcb);
+ OBD_SLAB_ALLOC_PTR_GFP(fcb, fcb_cache, CFS_ALLOC_IO);
if (fcb == NULL)
RETURN(-ENOMEM);
if (fcb == NULL)
RETURN(-ENOMEM);
struct cl_site *site = cl_object_site(obj);
ENTRY;
struct cl_site *site = cl_object_site(obj);
ENTRY;
- OBD_SLAB_ALLOC_PTR(lock, cl_lock_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(lock, cl_lock_kmem, CFS_ALLOC_IO);
if (lock != NULL) {
atomic_set(&lock->cll_ref, 1);
lock->cll_descr = *descr;
if (lock != NULL) {
atomic_set(&lock->cll_ref, 1);
lock->cll_descr = *descr;
struct lu_env *env;
struct cl_env *cle;
struct lu_env *env;
struct cl_env *cle;
- OBD_SLAB_ALLOC_PTR(cle, cl_env_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(cle, cl_env_kmem, CFS_ALLOC_IO);
if (cle != NULL) {
int rc;
if (cle != NULL) {
int rc;
- 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;
if (page != NULL) {
atomic_set(&page->cp_ref, 1);
page->cp_obj = o;
{
struct obd_device *obd;
{
struct obd_device *obd;
- OBD_SLAB_ALLOC_PTR(obd, obd_device_cachep);
+ OBD_SLAB_ALLOC_PTR_GFP(obd, obd_device_cachep, CFS_ALLOC_IO);
if (obd != NULL) {
obd->obd_magic = OBD_DEVICE_MAGIC;
}
if (obd != NULL) {
obd->obd_magic = OBD_DEVICE_MAGIC;
}
struct echo_page *ep;
ENTRY;
struct echo_page *ep;
ENTRY;
- OBD_SLAB_ALLOC_PTR(ep, echo_page_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(ep, echo_page_kmem, CFS_ALLOC_IO);
if (ep != NULL) {
struct echo_object *eco = cl2echo_obj(obj);
ep->ep_vmpage = vmpage;
if (ep != NULL) {
struct echo_object *eco = cl2echo_obj(obj);
ep->ep_vmpage = vmpage;
struct echo_lock *el;
ENTRY;
struct echo_lock *el;
ENTRY;
- OBD_SLAB_ALLOC_PTR(el, echo_lock_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(el, echo_lock_kmem, CFS_ALLOC_IO);
if (el != NULL) {
cl_lock_slice_add(lock, &el->el_cl, obj, &echo_lock_ops);
el->el_object = cl2echo_obj(obj);
if (el != NULL) {
cl_lock_slice_add(lock, &el->el_cl, obj, &echo_lock_ops);
el->el_object = cl2echo_obj(obj);
/* we're the top dev. */
LASSERT(hdr == NULL);
/* we're the top dev. */
LASSERT(hdr == NULL);
- OBD_SLAB_ALLOC_PTR(eco, echo_object_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(eco, echo_object_kmem, CFS_ALLOC_IO);
if (eco != NULL) {
struct cl_object_header *hdr = &eco->eo_hdr;
if (eco != NULL) {
struct cl_object_header *hdr = &eco->eo_hdr;
{
struct echo_thread_info *info;
{
struct echo_thread_info *info;
- OBD_SLAB_ALLOC_PTR(info, echo_thread_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(info, echo_thread_kmem, CFS_ALLOC_IO);
if (info == NULL)
info = ERR_PTR(-ENOMEM);
return info;
if (info == NULL)
info = ERR_PTR(-ENOMEM);
return info;
{
struct echo_session_info *session;
{
struct echo_session_info *session;
- OBD_SLAB_ALLOC_PTR(session, echo_session_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(session, echo_session_kmem, CFS_ALLOC_IO);
if (session == NULL)
session = ERR_PTR(-ENOMEM);
return session;
if (session == NULL)
session = ERR_PTR(-ENOMEM);
return session;
struct filter_export_data *fed = &exp->exp_filter_data;
struct filter_mod_data *found = NULL, *fmd_new = NULL;
struct filter_export_data *fed = &exp->exp_filter_data;
struct filter_mod_data *found = NULL, *fmd_new = NULL;
- OBD_SLAB_ALLOC(fmd_new, ll_fmd_cachep, CFS_ALLOC_IO, sizeof(*fmd_new));
+ OBD_SLAB_ALLOC_PTR_GFP(fmd_new, ll_fmd_cachep, CFS_ALLOC_IO);
spin_lock(&fed->fed_lock);
found = filter_fmd_find_nolock(&exp->exp_obd->u.filter,fed,objid,group);
spin_lock(&fed->fed_lock);
found = filter_fmd_find_nolock(&exp->exp_obd->u.filter,fed,objid,group);
{
struct osc_thread_info *info;
{
struct osc_thread_info *info;
- OBD_SLAB_ALLOC_PTR(info, osc_thread_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(info, osc_thread_kmem, CFS_ALLOC_IO);
if (info == NULL)
info = ERR_PTR(-ENOMEM);
return info;
if (info == NULL)
info = ERR_PTR(-ENOMEM);
return info;
{
struct osc_session *info;
{
struct osc_session *info;
- OBD_SLAB_ALLOC_PTR(info, osc_session_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(info, osc_session_kmem, CFS_ALLOC_IO);
if (info == NULL)
info = ERR_PTR(-ENOMEM);
return info;
if (info == NULL)
info = ERR_PTR(-ENOMEM);
return info;
struct osc_req *or;
int result;
struct osc_req *or;
int result;
- OBD_SLAB_ALLOC_PTR(or, osc_req_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(or, osc_req_kmem, CFS_ALLOC_IO);
if (or != NULL) {
cl_req_slice_add(req, &or->or_cl, dev, &osc_req_ops);
result = 0;
if (or != NULL) {
cl_req_slice_add(req, &or->or_cl, dev, &osc_req_ops);
result = 0;
struct osc_lock *clk;
int result;
struct osc_lock *clk;
int result;
- OBD_SLAB_ALLOC_PTR(clk, osc_lock_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(clk, osc_lock_kmem, CFS_ALLOC_IO);
if (clk != NULL) {
osc_lock_build_einfo(env, lock, clk, &clk->ols_einfo);
clk->ols_state = OLS_NEW;
if (clk != NULL) {
osc_lock_build_einfo(env, lock, clk, &clk->ols_einfo);
clk->ols_state = OLS_NEW;
struct osc_object *osc;
struct lu_object *obj;
struct osc_object *osc;
struct lu_object *obj;
- OBD_SLAB_ALLOC_PTR(osc, osc_object_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(osc, osc_object_kmem, CFS_ALLOC_IO);
if (osc != NULL) {
obj = osc2lu(osc);
lu_object_init(obj, NULL, dev);
if (osc != NULL) {
obj = osc2lu(osc);
lu_object_init(obj, NULL, dev);
struct osc_page *opg;
int result;
struct osc_page *opg;
int result;
- OBD_SLAB_ALLOC_PTR(opg, osc_page_kmem);
+ OBD_SLAB_ALLOC_PTR_GFP(opg, osc_page_kmem, CFS_ALLOC_IO);
if (opg != NULL) {
void *oap = &opg->ops_oap;
if (opg != NULL) {
void *oap = &opg->ops_oap;
struct lustre_qunit *qunit = NULL;
ENTRY;
struct lustre_qunit *qunit = NULL;
ENTRY;
- OBD_SLAB_ALLOC(qunit, qunit_cachep, CFS_ALLOC_IO, sizeof(*qunit));
+ OBD_SLAB_ALLOC_PTR_GFP(qunit, qunit_cachep, CFS_ALLOC_IO);
if (qunit == NULL)
RETURN(NULL);
if (qunit == NULL)
RETURN(NULL);
struct lustre_dquot *dquot = NULL;
ENTRY;
struct lustre_dquot *dquot = NULL;
ENTRY;
- OBD_SLAB_ALLOC(dquot, lustre_dquot_cachep, CFS_ALLOC_IO, sizeof(*dquot));
+ OBD_SLAB_ALLOC_PTR_GFP(dquot, lustre_dquot_cachep, CFS_ALLOC_IO);
if (dquot == NULL)
RETURN(NULL);
if (dquot == NULL)
RETURN(NULL);