if (unlikely(old_count <= new_count))
                return old_size;
 
-       OBD_ALLOC(new, new_size);
+       new = kzalloc(new_size, GFP_NOFS);
        if (unlikely(new == NULL))
                return -ENOMEM;
 
        memcpy(new, *header, new_size);
-       OBD_FREE(*header, old_size);
+       kfree(*header);
        *header = new;
        return new_size;
 }
        if (unlikely(old_count <= ext_count))
                return 0;
 
-       OBD_ALLOC(new, ext_size);
+       new = kzalloc(ext_size, GFP_NOFS);
        if (unlikely(new == NULL))
                return -ENOMEM;
 
        memcpy(new, *header, ext_size);
-       OBD_FREE(*header, old_size);
+       kfree(*header);
        *header = new;
        return 0;
 }
        else
                count = CFS_ACL_XATTR_COUNT(size, posix_acl_xattr);
        esize = CFS_ACL_XATTR_SIZE(count, ext_acl_xattr);
-       OBD_ALLOC(new, esize);
+       new = kzalloc(esize, GFP_NOFS);
        if (unlikely(new == NULL))
                return ERR_PTR(-ENOMEM);
 
        if (size < sizeof(*new))
                return -EINVAL;
 
-       OBD_ALLOC(new, size);
+       new = kzalloc(size, GFP_NOFS);
        if (unlikely(new == NULL))
                return -ENOMEM;
 
 
 _out:
        if (rc) {
-               OBD_FREE(new, size);
+               kfree(new);
                size = rc;
        }
        return size;
  */
 void lustre_posix_acl_xattr_free(posix_acl_xattr_header *header, int size)
 {
-       OBD_FREE(header, size);
+       kfree(header);
 }
 EXPORT_SYMBOL(lustre_posix_acl_xattr_free);
 
  */
 void lustre_ext_acl_xattr_free(ext_acl_xattr_header *header)
 {
-       OBD_FREE(header, CFS_ACL_XATTR_SIZE(le32_to_cpu(header->a_count), \
-                                           ext_acl_xattr));
+       kfree(header);
 }
 EXPORT_SYMBOL(lustre_ext_acl_xattr_free);
 
                /* there are only base ACL entries at most. */
                posix_count = 3;
                posix_size = CFS_ACL_XATTR_SIZE(posix_count, posix_acl_xattr);
-               OBD_ALLOC(new, posix_size);
+               new = kzalloc(posix_size, GFP_NOFS);
                if (unlikely(new == NULL))
                        return -ENOMEM;
 
                posix_count = ori_posix_count + ext_count;
                posix_size =
                        CFS_ACL_XATTR_SIZE(posix_count, posix_acl_xattr);
-               OBD_ALLOC(new, posix_size);
+               new = kzalloc(posix_size, GFP_NOFS);
                if (unlikely(new == NULL))
                        return -ENOMEM;
 
 
 _out:
        if (rc) {
-               OBD_FREE(new, posix_size);
+               kfree(new);
                posix_size = rc;
        }
        return posix_size;
        ext_count = posix_count + ori_ext_count;
        ext_size = CFS_ACL_XATTR_SIZE(ext_count, ext_acl_xattr);
 
-       OBD_ALLOC(new, ext_size);
+       new = kzalloc(ext_size, GFP_NOFS);
        if (unlikely(new == NULL))
                return ERR_PTR(-ENOMEM);
 
 
 out:
        if (rc) {
-               OBD_FREE(new, ext_size);
+               kfree(new);
                new = ERR_PTR(rc);
        }
        return new;
 
        struct hlist_head *hash;
        int nr_hash, i;
 
-       OBD_ALLOC(hash, PAGE_CACHE_SIZE);
+       hash = kzalloc(PAGE_CACHE_SIZE, GFP_NOFS);
        if (!hash)
                return NULL;
 
        }
        spin_unlock(&capa_lock);
 
-       OBD_FREE(hash, PAGE_CACHE_SIZE);
+       kfree(hash);
 }
 EXPORT_SYMBOL(cleanup_capa_hash);
 
 
 static void cl_free_io_lock_link(const struct lu_env *env,
                                 struct cl_io_lock_link *link)
 {
-       OBD_FREE_PTR(link);
+       kfree(link);
 }
 
 /**
        struct cl_io_lock_link *link;
        int result;
 
-       OBD_ALLOC_PTR(link);
+       link = kzalloc(sizeof(*link), GFP_NOFS);
        if (link != NULL) {
                link->cill_descr     = *descr;
                link->cill_fini      = cl_free_io_lock_link;
                                cl_object_put(env, obj);
                        }
                }
-               OBD_FREE(req->crq_o, req->crq_nrobjs * sizeof(req->crq_o[0]));
+               kfree(req->crq_o);
        }
-       OBD_FREE_PTR(req);
+       kfree(req);
 }
 
 static int cl_req_init(const struct lu_env *env, struct cl_req *req,
 
        LINVRNT(nr_objects > 0);
 
-       OBD_ALLOC_PTR(req);
+       req = kzalloc(sizeof(*req), GFP_NOFS);
        if (req != NULL) {
                int result;
 
                INIT_LIST_HEAD(&req->crq_pages);
                INIT_LIST_HEAD(&req->crq_layers);
 
-               OBD_ALLOC(req->crq_o, nr_objects * sizeof(req->crq_o[0]));
+               req->crq_o = kcalloc(nr_objects, sizeof(req->crq_o[0]),
+                                    GFP_NOFS);
                if (req->crq_o != NULL) {
                        req->crq_nrobjs = nr_objects;
                        result = cl_req_init(env, req, page);
 
        lu_object_ref_del_at(&obj->co_lu, &page->cp_obj_ref, "cl_page", page);
        cl_object_put(env, obj);
        lu_ref_fini(&page->cp_reference);
-       OBD_FREE(page, pagesize);
+       kfree(page);
 }
 
 /**
 
                        err = -EINVAL;
                        goto out;
                }
-               OBD_ALLOC(lcfg, data->ioc_plen1);
+               lcfg = kzalloc(data->ioc_plen1, GFP_NOFS);
                if (lcfg == NULL) {
                        err = -ENOMEM;
                        goto out;
                if (!err)
                        err = class_process_config(lcfg);
 
-               OBD_FREE(lcfg, data->ioc_plen1);
+               kfree(lcfg);
                goto out;
        }
 
 
        }
 
        rc = -ENOMEM;
-       OBD_ALLOC(type, sizeof(*type));
+       type = kzalloc(sizeof(*type), GFP_NOFS);
        if (type == NULL)
                return rc;
 
-       OBD_ALLOC_PTR(type->typ_dt_ops);
-       OBD_ALLOC_PTR(type->typ_md_ops);
-       OBD_ALLOC(type->typ_name, strlen(name) + 1);
+       type->typ_dt_ops = kzalloc(sizeof(*type->typ_dt_ops), GFP_NOFS);
+       type->typ_md_ops = kzalloc(sizeof(*type->typ_md_ops), GFP_NOFS);
+       type->typ_name = kzalloc(strlen(name) + 1, GFP_NOFS);
 
        if (type->typ_dt_ops == NULL ||
            type->typ_md_ops == NULL ||
 
  failed:
        if (type->typ_name != NULL)
-               OBD_FREE(type->typ_name, strlen(name) + 1);
+               kfree(type->typ_name);
        if (type->typ_md_ops != NULL)
-               OBD_FREE_PTR(type->typ_md_ops);
+               kfree(type->typ_md_ops);
        if (type->typ_dt_ops != NULL)
-               OBD_FREE_PTR(type->typ_dt_ops);
-       OBD_FREE(type, sizeof(*type));
+               kfree(type->typ_dt_ops);
+       kfree(type);
        return rc;
 }
 EXPORT_SYMBOL(class_register_type);
                CERROR("type %s has refcount (%d)\n", name, type->typ_refcnt);
                /* This is a bad situation, let's make the best of it */
                /* Remove ops, but leave the name for debugging */
-               OBD_FREE_PTR(type->typ_dt_ops);
-               OBD_FREE_PTR(type->typ_md_ops);
+               kfree(type->typ_dt_ops);
+               kfree(type->typ_md_ops);
                return -EBUSY;
        }
 
        spin_lock(&obd_types_lock);
        list_del(&type->typ_chain);
        spin_unlock(&obd_types_lock);
-       OBD_FREE(type->typ_name, strlen(name) + 1);
+       kfree(type->typ_name);
        if (type->typ_dt_ops != NULL)
-               OBD_FREE_PTR(type->typ_dt_ops);
+               kfree(type->typ_dt_ops);
        if (type->typ_md_ops != NULL)
-               OBD_FREE_PTR(type->typ_md_ops);
-       OBD_FREE(type, sizeof(*type));
+               kfree(type->typ_md_ops);
+       kfree(type);
        return 0;
 } /* class_unregister_type */
 EXPORT_SYMBOL(class_unregister_type);
        struct cfs_hash *hash = NULL;
        int rc = 0;
 
-       OBD_ALLOC_PTR(export);
+       export = kzalloc(sizeof(*export), GFP_NOFS);
        if (!export)
                return ERR_PTR(-ENOMEM);
 
        class_handle_unhash(&export->exp_handle);
        LASSERT(hlist_unhashed(&export->exp_uuid_hash));
        obd_destroy_export(export);
-       OBD_FREE_PTR(export);
+       kfree(export);
        return ERR_PTR(rc);
 }
 EXPORT_SYMBOL(class_new_export);
                                          struct obd_import_conn, oic_item);
                list_del_init(&imp_conn->oic_item);
                ptlrpc_put_connection_superhack(imp_conn->oic_conn);
-               OBD_FREE(imp_conn, sizeof(*imp_conn));
+               kfree(imp_conn);
        }
 
        LASSERT(imp->imp_sec == NULL);
 {
        struct obd_import *imp;
 
-       OBD_ALLOC(imp, sizeof(*imp));
+       imp = kzalloc(sizeof(*imp), GFP_NOFS);
        if (imp == NULL)
                return NULL;
 
        struct kuc_hdr *lh;
        int len = kuc_len(payload_len);
 
-       OBD_ALLOC(lh, len);
+       lh = kzalloc(len, GFP_NOFS);
        if (lh == NULL)
                return ERR_PTR(-ENOMEM);
 
 inline void kuc_free(void *p, int payload_len)
 {
        struct kuc_hdr *lh = kuc_ptr(p);
-       OBD_FREE(lh, kuc_len(payload_len));
+       kfree(lh);
 }
 EXPORT_SYMBOL(kuc_free);
 
 {
        struct llog_handle *loghandle;
 
-       OBD_ALLOC_PTR(loghandle);
+       loghandle = kzalloc(sizeof(*loghandle), GFP_NOFS);
        if (loghandle == NULL)
                return NULL;
 
        else if (loghandle->lgh_hdr->llh_flags & LLOG_F_IS_CAT)
                LASSERT(list_empty(&loghandle->u.chd.chd_head));
        LASSERT(sizeof(*(loghandle->lgh_hdr)) == LLOG_CHUNK_SIZE);
-       OBD_FREE(loghandle->lgh_hdr, LLOG_CHUNK_SIZE);
+       kfree(loghandle->lgh_hdr);
 out:
-       OBD_FREE_PTR(loghandle);
+       kfree(loghandle);
 }
 
 void llog_handle_get(struct llog_handle *loghandle)
 
        LASSERT(handle->lgh_hdr == NULL);
 
-       OBD_ALLOC_PTR(llh);
+       llh = kzalloc(sizeof(*llh), GFP_NOFS);
        if (llh == NULL)
                return -ENOMEM;
        handle->lgh_hdr = llh;
        }
 out:
        if (rc) {
-               OBD_FREE_PTR(llh);
+               kfree(llh);
                handle->lgh_hdr = NULL;
        }
        return rc;
 
        LASSERT(llh);
 
-       OBD_ALLOC(buf, LLOG_CHUNK_SIZE);
+       buf = kzalloc(LLOG_CHUNK_SIZE, GFP_NOFS);
        if (!buf) {
                lpi->lpi_rc = -ENOMEM;
                return 0;
        if (cd != NULL)
                cd->lpcd_last_idx = last_called_index;
 
-       OBD_FREE(buf, LLOG_CHUNK_SIZE);
+       kfree(buf);
        lpi->lpi_rc = rc;
        return 0;
 }
        struct llog_process_info *lpi;
        int                   rc;
 
-       OBD_ALLOC_PTR(lpi);
+       lpi = kzalloc(sizeof(*lpi), GFP_NOFS);
        if (lpi == NULL) {
                CERROR("cannot alloc pointer\n");
                return -ENOMEM;
                if (IS_ERR_VALUE(rc)) {
                        CERROR("%s: cannot start thread: rc = %d\n",
                               loghandle->lgh_ctxt->loc_obd->obd_name, rc);
-                       OBD_FREE_PTR(lpi);
+                       kfree(lpi);
                        return rc;
                }
                wait_for_completion(&lpi->lpi_completion);
                llog_process_thread(lpi);
        }
        rc = lpi->lpi_rc;
-       OBD_FREE_PTR(lpi);
+       kfree(lpi);
        return rc;
 }
 EXPORT_SYMBOL(llog_process_or_fork);
        void *buf;
        int rc = 0, first_index = 1, index, idx;
 
-       OBD_ALLOC(buf, LLOG_CHUNK_SIZE);
+       buf = kzalloc(LLOG_CHUNK_SIZE, GFP_NOFS);
        if (!buf)
                return -ENOMEM;
 
 
 out:
        if (buf)
-               OBD_FREE(buf, LLOG_CHUNK_SIZE);
+               kfree(buf);
        return rc;
 }
 EXPORT_SYMBOL(llog_reverse_process);
 
 {
        struct llog_ctxt *ctxt;
 
-       OBD_ALLOC_PTR(ctxt);
+       ctxt = kzalloc(sizeof(*ctxt), GFP_NOFS);
        if (!ctxt)
                return NULL;
 
                class_import_put(ctxt->loc_imp);
                ctxt->loc_imp = NULL;
        }
-       OBD_FREE_PTR(ctxt);
+       kfree(ctxt);
 }
 
 int __llog_ctxt_put(const struct lu_env *env, struct llog_ctxt *ctxt)
 
        if (parent == NULL || format == NULL)
                return NULL;
 
-       OBD_ALLOC_WAIT(dest, MAX_STRING_SIZE + 1);
+       dest = kzalloc(MAX_STRING_SIZE + 1, GFP_KERNEL);
        if (dest == NULL)
                return NULL;
 
                CERROR("LprocFS: Could not create symbolic link from %s to %s",
                        name, dest);
 
-       OBD_FREE(dest, MAX_STRING_SIZE + 1);
+       kfree(dest);
        return entry;
 }
 EXPORT_SYMBOL(lprocfs_add_symlink);
        if (client_stat->nid_ldlm_stats)
                lprocfs_free_stats(&client_stat->nid_ldlm_stats);
 
-       OBD_FREE_PTR(client_stat);
+       kfree(client_stat);
        return;
 
 }
 
        CDEBUG(D_CONFIG, "using hash %p\n", obd->obd_nid_stats_hash);
 
-       OBD_ALLOC_PTR(new_stat);
+       new_stat = kzalloc(sizeof(*new_stat), GFP_NOFS);
        if (new_stat == NULL)
                return -ENOMEM;
 
                goto destroy_new;
        }
        /* not found - create */
-       OBD_ALLOC(buffer, LNET_NIDSTR_SIZE);
+       buffer = kzalloc(LNET_NIDSTR_SIZE, GFP_NOFS);
        if (buffer == NULL) {
                rc = -ENOMEM;
                goto destroy_new;
        new_stat->nid_proc = lprocfs_register(buffer,
                                              obd->obd_proc_exports_entry,
                                              NULL, NULL);
-       OBD_FREE(buffer, LNET_NIDSTR_SIZE);
+       kfree(buffer);
 
        if (IS_ERR(new_stat->nid_proc)) {
                CERROR("Error making export directory for nid %s\n",
 
 destroy_new:
        nidstat_putref(new_stat);
-       OBD_FREE_PTR(new_stat);
+       kfree(new_stat);
        return rc;
 }
 EXPORT_SYMBOL(lprocfs_exp_setup);
 
        for (i = 0; i < ARRAY_SIZE(lu_keys); ++i)
                key_fini(ctx, i);
 
-       OBD_FREE(ctx->lc_value, ARRAY_SIZE(lu_keys) * sizeof(ctx->lc_value[0]));
+       kfree(ctx->lc_value);
        ctx->lc_value = NULL;
 }
 
 
 static int keys_init(struct lu_context *ctx)
 {
-       OBD_ALLOC(ctx->lc_value,
-                 ARRAY_SIZE(lu_keys) * sizeof(ctx->lc_value[0]));
+       ctx->lc_value = kcalloc(ARRAY_SIZE(lu_keys), sizeof(ctx->lc_value[0]),
+                               GFP_NOFS);
        if (likely(ctx->lc_value != NULL))
                return keys_fill(ctx);
 
 
        if (h->h_ops->hop_free != NULL)
                h->h_ops->hop_free(ptr, h->h_size);
        else
-               OBD_FREE(ptr, h->h_size);
+               kfree(ptr);
 }
 EXPORT_SYMBOL(class_handle_free_cb);
 
 
        if (strlen(uuid) > UUID_MAX - 1)
                return -EOVERFLOW;
 
-       OBD_ALLOC_PTR(data);
+       data = kzalloc(sizeof(*data), GFP_NOFS);
        if (data == NULL)
                return -ENOMEM;
 
        if (found) {
                CDEBUG(D_INFO, "found uuid %s %s cnt=%d\n", uuid,
                       libcfs_nid2str(nid), entry->un_nid_count);
-               OBD_FREE(data, sizeof(*data));
+               kfree(data);
        } else {
                CDEBUG(D_INFO, "add uuid %s %s\n", uuid, libcfs_nid2str(nid));
        }
                       libcfs_nid2str(data->un_nids[0]),
                       data->un_nid_count);
 
-               OBD_FREE(data, sizeof(*data));
+               kfree(data);
        }
 
        return 0;
 
 
        CDEBUG(D_CONFIG, "Add profile %s\n", prof);
 
-       OBD_ALLOC(lprof, sizeof(*lprof));
+       lprof = kzalloc(sizeof(*lprof), GFP_NOFS);
        if (lprof == NULL)
                return -ENOMEM;
        INIT_LIST_HEAD(&lprof->lp_list);
 
        LASSERT(proflen == (strlen(prof) + 1));
-       OBD_ALLOC(lprof->lp_profile, proflen);
+       lprof->lp_profile = kzalloc(proflen, GFP_NOFS);
        if (lprof->lp_profile == NULL) {
                err = -ENOMEM;
                goto out;
        memcpy(lprof->lp_profile, prof, proflen);
 
        LASSERT(osclen == (strlen(osc) + 1));
-       OBD_ALLOC(lprof->lp_dt, osclen);
+       lprof->lp_dt = kzalloc(osclen, GFP_NOFS);
        if (lprof->lp_dt == NULL) {
                err = -ENOMEM;
                goto out;
 
        if (mdclen > 0) {
                LASSERT(mdclen == (strlen(mdc) + 1));
-               OBD_ALLOC(lprof->lp_md, mdclen);
+               lprof->lp_md = kzalloc(mdclen, GFP_NOFS);
                if (lprof->lp_md == NULL) {
                        err = -ENOMEM;
                        goto out;
 
 out:
        if (lprof->lp_md)
-               OBD_FREE(lprof->lp_md, mdclen);
+               kfree(lprof->lp_md);
        if (lprof->lp_dt)
-               OBD_FREE(lprof->lp_dt, osclen);
+               kfree(lprof->lp_dt);
        if (lprof->lp_profile)
-               OBD_FREE(lprof->lp_profile, proflen);
-       OBD_FREE(lprof, sizeof(*lprof));
+               kfree(lprof->lp_profile);
+       kfree(lprof);
        return err;
 }
 
        lprof = class_get_profile(prof);
        if (lprof) {
                list_del(&lprof->lp_list);
-               OBD_FREE(lprof->lp_profile, strlen(lprof->lp_profile) + 1);
-               OBD_FREE(lprof->lp_dt, strlen(lprof->lp_dt) + 1);
+               kfree(lprof->lp_profile);
+               kfree(lprof->lp_dt);
                if (lprof->lp_md)
-                       OBD_FREE(lprof->lp_md, strlen(lprof->lp_md) + 1);
-               OBD_FREE(lprof, sizeof(*lprof));
+                       kfree(lprof->lp_md);
+               kfree(lprof);
        }
 }
 EXPORT_SYMBOL(class_del_profile);
 
        list_for_each_entry_safe(lprof, n, &lustre_profile_list, lp_list) {
                list_del(&lprof->lp_list);
-               OBD_FREE(lprof->lp_profile, strlen(lprof->lp_profile) + 1);
-               OBD_FREE(lprof->lp_dt, strlen(lprof->lp_dt) + 1);
+               kfree(lprof->lp_profile);
+               kfree(lprof->lp_dt);
                if (lprof->lp_md)
-                       OBD_FREE(lprof->lp_md, strlen(lprof->lp_md) + 1);
-               OBD_FREE(lprof, sizeof(*lprof));
+                       kfree(lprof->lp_md);
+               kfree(lprof);
        }
 }
 EXPORT_SYMBOL(class_del_profiles);
 
        new_len = LUSTRE_CFG_BUFLEN(cfg, 1) + strlen(new_name) - name_len;
 
-       OBD_ALLOC(new_param, new_len);
+       new_param = kzalloc(new_len, GFP_NOFS);
        if (new_param == NULL)
                return ERR_PTR(-ENOMEM);
 
        if (value != NULL)
                strcat(new_param, value);
 
-       OBD_ALLOC_PTR(bufs);
+       bufs = kzalloc(sizeof(*bufs), GFP_NOFS);
        if (bufs == NULL) {
-               OBD_FREE(new_param, new_len);
+               kfree(new_param);
                return ERR_PTR(-ENOMEM);
        }
 
 
        new_cfg = lustre_cfg_new(cfg->lcfg_command, bufs);
 
-       OBD_FREE(new_param, new_len);
-       OBD_FREE_PTR(bufs);
+       kfree(new_param);
+       kfree(bufs);
        if (new_cfg == NULL)
                return ERR_PTR(-ENOMEM);
 
                        inst = 1;
                        inst_len = LUSTRE_CFG_BUFLEN(lcfg, 0) +
                                   sizeof(clli->cfg_instance) * 2 + 4;
-                       OBD_ALLOC(inst_name, inst_len);
+                       inst_name = kzalloc(inst_len, GFP_NOFS);
                        if (inst_name == NULL) {
                                rc = -ENOMEM;
                                goto out;
                lustre_cfg_free(lcfg_new);
 
                if (inst)
-                       OBD_FREE(inst_name, inst_len);
+                       kfree(inst_name);
                break;
        }
        default:
        char    *outstr;
        int      rc = 0;
 
-       OBD_ALLOC(outstr, 256);
+       outstr = kzalloc(256, GFP_NOFS);
        if (outstr == NULL)
                return -ENOMEM;
 
                rc = -EINVAL;
        }
 
-       OBD_FREE(outstr, 256);
+       kfree(outstr);
        return rc;
 }
 
 
        LASSERT(mgc);
        LASSERT(cfg);
 
-       OBD_ALLOC_PTR(bufs);
+       bufs = kzalloc(sizeof(*bufs), GFP_NOFS);
        if (bufs == NULL)
                return -ENOMEM;
 
        rc = obd_process_config(mgc, sizeof(*lcfg), lcfg);
        lustre_cfg_free(lcfg);
 
-       OBD_FREE_PTR(bufs);
+       kfree(bufs);
 
        if (rc == -EINVAL)
                LCONSOLE_ERROR_MSG(0x15b, "%s: The configuration from log '%s' failed from the MGS (%d).  Make sure this client and the MGS are running compatible versions of Lustre.\n",
        mutex_lock(&mgc_start_lock);
 
        len = strlen(LUSTRE_MGC_OBDNAME) + strlen(libcfs_nid2str(nid)) + 1;
-       OBD_ALLOC(mgcname, len);
-       OBD_ALLOC(niduuid, len + 2);
+       mgcname = kzalloc(len, GFP_NOFS);
+       niduuid = kzalloc(len + 2, GFP_NOFS);
        if (!mgcname || !niduuid) {
                rc = -ENOMEM;
                goto out_free;
 
        mgssec = lsi->lsi_lmd->lmd_mgssec ? lsi->lsi_lmd->lmd_mgssec : "";
 
-       OBD_ALLOC_PTR(data);
+       data = kzalloc(sizeof(*data), GFP_NOFS);
        if (data == NULL) {
                rc = -ENOMEM;
                goto out_free;
        lsi->lsi_lmd->lmd_mgs_failnodes = 1;
 
        /* Random uuid for MGC allows easier reconnects */
-       OBD_ALLOC_PTR(uuid);
+       uuid = kzalloc(sizeof(*uuid), GFP_NOFS);
        if (!uuid) {
                rc = -ENOMEM;
                goto out_free;
        rc = lustre_start_simple(mgcname, LUSTRE_MGC_NAME,
                                 (char *)uuid->uuid, LUSTRE_MGS_OBDNAME,
                                 niduuid, NULL, NULL);
-       OBD_FREE_PTR(uuid);
+       kfree(uuid);
        if (rc)
                goto out_free;
 
        mutex_unlock(&mgc_start_lock);
 
        if (data)
-               OBD_FREE_PTR(data);
+               kfree(data);
        if (mgcname)
-               OBD_FREE(mgcname, len);
+               kfree(mgcname);
        if (niduuid)
-               OBD_FREE(niduuid, len + 2);
+               kfree(niduuid);
        return rc;
 }
 
        /* Save the obdname for cleaning the nid uuids, which are
           obdname_XX */
        len = strlen(obd->obd_name) + 6;
-       OBD_ALLOC(niduuid, len);
+       niduuid = kzalloc(len, GFP_NOFS);
        if (niduuid) {
                strcpy(niduuid, obd->obd_name);
                ptr = niduuid + strlen(niduuid);
        }
 out:
        if (niduuid)
-               OBD_FREE(niduuid, len);
+               kfree(niduuid);
 
        /* class_import_put will get rid of the additional connections */
        mutex_unlock(&mgc_start_lock);
 {
        struct lustre_sb_info *lsi;
 
-       OBD_ALLOC_PTR(lsi);
+       lsi = kzalloc(sizeof(*lsi), GFP_NOFS);
        if (!lsi)
                return NULL;
-       OBD_ALLOC_PTR(lsi->lsi_lmd);
+       lsi->lsi_lmd = kzalloc(sizeof(*lsi->lsi_lmd), GFP_NOFS);
        if (!lsi->lsi_lmd) {
-               OBD_FREE_PTR(lsi);
+               kfree(lsi);
                return NULL;
        }
 
 
        if (lsi->lsi_lmd != NULL) {
                if (lsi->lsi_lmd->lmd_dev != NULL)
-                       OBD_FREE(lsi->lsi_lmd->lmd_dev,
-                                strlen(lsi->lsi_lmd->lmd_dev) + 1);
+                       kfree(lsi->lsi_lmd->lmd_dev);
                if (lsi->lsi_lmd->lmd_profile != NULL)
-                       OBD_FREE(lsi->lsi_lmd->lmd_profile,
-                                strlen(lsi->lsi_lmd->lmd_profile) + 1);
+                       kfree(lsi->lsi_lmd->lmd_profile);
                if (lsi->lsi_lmd->lmd_mgssec != NULL)
-                       OBD_FREE(lsi->lsi_lmd->lmd_mgssec,
-                                strlen(lsi->lsi_lmd->lmd_mgssec) + 1);
+                       kfree(lsi->lsi_lmd->lmd_mgssec);
                if (lsi->lsi_lmd->lmd_opts != NULL)
-                       OBD_FREE(lsi->lsi_lmd->lmd_opts,
-                                strlen(lsi->lsi_lmd->lmd_opts) + 1);
+                       kfree(lsi->lsi_lmd->lmd_opts);
                if (lsi->lsi_lmd->lmd_exclude_count)
-                       OBD_FREE(lsi->lsi_lmd->lmd_exclude,
-                                sizeof(lsi->lsi_lmd->lmd_exclude[0]) *
-                                lsi->lsi_lmd->lmd_exclude_count);
+                       kfree(lsi->lsi_lmd->lmd_exclude);
                if (lsi->lsi_lmd->lmd_mgs != NULL)
-                       OBD_FREE(lsi->lsi_lmd->lmd_mgs,
-                                strlen(lsi->lsi_lmd->lmd_mgs) + 1);
+                       kfree(lsi->lsi_lmd->lmd_mgs);
                if (lsi->lsi_lmd->lmd_osd_type != NULL)
-                       OBD_FREE(lsi->lsi_lmd->lmd_osd_type,
-                                strlen(lsi->lsi_lmd->lmd_osd_type) + 1);
+                       kfree(lsi->lsi_lmd->lmd_osd_type);
                if (lsi->lsi_lmd->lmd_params != NULL)
-                       OBD_FREE(lsi->lsi_lmd->lmd_params, 4096);
+                       kfree(lsi->lsi_lmd->lmd_params);
 
-               OBD_FREE(lsi->lsi_lmd, sizeof(*lsi->lsi_lmd));
+               kfree(lsi->lsi_lmd);
        }
 
        LASSERT(lsi->lsi_llsbi == NULL);
-       OBD_FREE(lsi, sizeof(*lsi));
+       kfree(lsi);
        s2lsi_nocast(sb) = NULL;
 
        return 0;
        devmax = strlen(ptr) / 8 + 1;
 
        /* temp storage until we figure out how many we have */
-       OBD_ALLOC(exclude_list, sizeof(index) * devmax);
+       exclude_list = kcalloc(devmax, sizeof(index), GFP_NOFS);
        if (!exclude_list)
                return -ENOMEM;
 
 
        if (lmd->lmd_exclude_count) {
                /* permanent, freed in lustre_free_lsi */
-               OBD_ALLOC(lmd->lmd_exclude, sizeof(index) *
-                         lmd->lmd_exclude_count);
+               lmd->lmd_exclude = kcalloc(lmd->lmd_exclude_count,
+                                          sizeof(index), GFP_NOFS);
                if (lmd->lmd_exclude) {
                        memcpy(lmd->lmd_exclude, exclude_list,
                               sizeof(index) * lmd->lmd_exclude_count);
                        lmd->lmd_exclude_count = 0;
                }
        }
-       OBD_FREE(exclude_list, sizeof(index) * devmax);
+       kfree(exclude_list);
        return rc;
 }
 
        int     length;
 
        if (lmd->lmd_mgssec != NULL) {
-               OBD_FREE(lmd->lmd_mgssec, strlen(lmd->lmd_mgssec) + 1);
+               kfree(lmd->lmd_mgssec);
                lmd->lmd_mgssec = NULL;
        }
 
        else
                length = tail - ptr;
 
-       OBD_ALLOC(lmd->lmd_mgssec, length + 1);
+       lmd->lmd_mgssec = kzalloc(length + 1, GFP_NOFS);
        if (lmd->lmd_mgssec == NULL)
                return -ENOMEM;
 
                return -EINVAL;
 
        if (*handle != NULL) {
-               OBD_FREE(*handle, strlen(*handle) + 1);
+               kfree(*handle);
                *handle = NULL;
        }
 
        else
                length = tail - ptr;
 
-       OBD_ALLOC(*handle, length + 1);
+       *handle = kzalloc(length + 1, GFP_NOFS);
        if (*handle == NULL)
                return -ENOMEM;
 
        if (lmd->lmd_mgs != NULL)
                oldlen = strlen(lmd->lmd_mgs) + 1;
 
-       OBD_ALLOC(mgsnid, oldlen + length + 1);
+       mgsnid = kzalloc(oldlen + length + 1, GFP_NOFS);
        if (mgsnid == NULL)
                return -ENOMEM;
 
                /* Multiple mgsnid= are taken to mean failover locations */
                memcpy(mgsnid, lmd->lmd_mgs, oldlen);
                mgsnid[oldlen - 1] = ':';
-               OBD_FREE(lmd->lmd_mgs, oldlen);
+               kfree(lmd->lmd_mgs);
        }
        memcpy(mgsnid + oldlen, *ptr, length);
        mgsnid[oldlen + length] = '\0';
        }
        lmd->lmd_magic = LMD_MAGIC;
 
-       OBD_ALLOC(lmd->lmd_params, 4096);
+       lmd->lmd_params = kzalloc(4096, GFP_NOFS);
        if (lmd->lmd_params == NULL)
                return -ENOMEM;
        lmd->lmd_params[0] = '\0';
                /* Remove leading /s from fsname */
                while (*++s1 == '/') ;
                /* Freed in lustre_free_lsi */
-               OBD_ALLOC(lmd->lmd_profile, strlen(s1) + 8);
+               lmd->lmd_profile = kzalloc(strlen(s1) + 8, GFP_NOFS);
                if (!lmd->lmd_profile)
                        return -ENOMEM;
                sprintf(lmd->lmd_profile, "%s-client", s1);
        }
 
        /* Freed in lustre_free_lsi */
-       OBD_ALLOC(lmd->lmd_dev, strlen(devname) + 1);
+       lmd->lmd_dev = kzalloc(strlen(devname) + 1, GFP_NOFS);
        if (!lmd->lmd_dev)
                return -ENOMEM;
        strcpy(lmd->lmd_dev, devname);
                *s1-- = 0;
        if (*options != 0) {
                /* Freed in lustre_free_lsi */
-               OBD_ALLOC(lmd->lmd_opts, strlen(options) + 1);
+               lmd->lmd_opts = kzalloc(strlen(options) + 1, GFP_NOFS);
                if (!lmd->lmd_opts)
                        return -ENOMEM;
                strcpy(lmd->lmd_opts, options);