X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Flov%2Flov_dev.c;h=9de519341ae2607993181fa5c44722d60b933302;hb=47c0b97421b21dab686b05d6bf829ebcaf62d5db;hp=ea208dcf235a8393f4ec3e3169a466acf05ccb0b;hpb=9fb46705ae86aa2c0ac29427f0ff24f923560eb7;p=fs%2Flustre-release.git diff --git a/lustre/lov/lov_dev.c b/lustre/lov/lov_dev.c index ea208dc..9de5193 100644 --- a/lustre/lov/lov_dev.c +++ b/lustre/lov/lov_dev.c @@ -26,6 +26,8 @@ /* * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. + * + * Copyright (c) 2012, 2013, Intel Corporation. */ /* * This file is part of Lustre, http://www.lustre.org/ @@ -43,30 +45,23 @@ #include "lov_cl_internal.h" -cfs_mem_cache_t *lov_page_kmem; -cfs_mem_cache_t *lov_lock_kmem; -cfs_mem_cache_t *lov_object_kmem; -cfs_mem_cache_t *lov_thread_kmem; -cfs_mem_cache_t *lov_session_kmem; -cfs_mem_cache_t *lov_req_kmem; +struct kmem_cache *lov_lock_kmem; +struct kmem_cache *lov_object_kmem; +struct kmem_cache *lov_thread_kmem; +struct kmem_cache *lov_session_kmem; +struct kmem_cache *lov_req_kmem; -cfs_mem_cache_t *lovsub_page_kmem; -cfs_mem_cache_t *lovsub_lock_kmem; -cfs_mem_cache_t *lovsub_object_kmem; -cfs_mem_cache_t *lovsub_req_kmem; +struct kmem_cache *lovsub_lock_kmem; +struct kmem_cache *lovsub_object_kmem; +struct kmem_cache *lovsub_req_kmem; -cfs_mem_cache_t *lov_lock_link_kmem; +struct kmem_cache *lov_lock_link_kmem; /** Lock class of lov_device::ld_mutex. */ struct lock_class_key cl_lov_device_mutex_class; struct lu_kmem_descr lov_caches[] = { { - .ckd_cache = &lov_page_kmem, - .ckd_name = "lov_page_kmem", - .ckd_size = sizeof (struct lov_page) - }, - { .ckd_cache = &lov_lock_kmem, .ckd_name = "lov_lock_kmem", .ckd_size = sizeof (struct lov_lock) @@ -92,11 +87,6 @@ struct lu_kmem_descr lov_caches[] = { .ckd_size = sizeof (struct lov_req) }, { - .ckd_cache = &lovsub_page_kmem, - .ckd_name = "lovsub_page_kmem", - .ckd_size = sizeof (struct lovsub_page) - }, - { .ckd_cache = &lovsub_lock_kmem, .ckd_name = "lovsub_lock_kmem", .ckd_size = sizeof (struct lovsub_lock) @@ -149,23 +139,23 @@ static const struct cl_req_operations lov_req_ops = { */ static void *lov_key_init(const struct lu_context *ctx, - struct lu_context_key *key) + struct lu_context_key *key) { - struct lov_thread_info *info; - - 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 - info = ERR_PTR(-ENOMEM); - return info; + struct lov_thread_info *info; + + OBD_SLAB_ALLOC_PTR_GFP(info, lov_thread_kmem, GFP_NOFS); + if (info != NULL) + INIT_LIST_HEAD(&info->lti_closure.clc_list); + else + info = ERR_PTR(-ENOMEM); + return info; } static void lov_key_fini(const struct lu_context *ctx, struct lu_context_key *key, void *data) { struct lov_thread_info *info = data; - LINVRNT(cfs_list_empty(&info->lti_closure.clc_list)); + LINVRNT(list_empty(&info->lti_closure.clc_list)); OBD_SLAB_FREE_PTR(info, lov_thread_kmem); } @@ -176,14 +166,14 @@ struct lu_context_key lov_key = { }; static void *lov_session_key_init(const struct lu_context *ctx, - struct lu_context_key *key) + struct lu_context_key *key) { - struct lov_session *info; + struct lov_session *info; - OBD_SLAB_ALLOC_PTR_GFP(info, lov_session_kmem, CFS_ALLOC_IO); - if (info == NULL) - info = ERR_PTR(-ENOMEM); - return info; + OBD_SLAB_ALLOC_PTR_GFP(info, lov_session_kmem, GFP_NOFS); + if (info == NULL) + info = ERR_PTR(-ENOMEM); + return info; } static void lov_session_key_fini(const struct lu_context *ctx, @@ -265,19 +255,19 @@ static int lov_device_init(const struct lu_env *env, struct lu_device *d, } static int lov_req_init(const struct lu_env *env, struct cl_device *dev, - struct cl_req *req) + struct cl_req *req) { - struct lov_req *lr; - int result; - - ENTRY; - 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; - } else - result = -ENOMEM; - RETURN(result); + struct lov_req *lr; + int result; + + ENTRY; + OBD_SLAB_ALLOC_PTR_GFP(lr, lov_req_kmem, GFP_NOFS); + if (lr != NULL) { + cl_req_slice_add(req, &lr->lr_cl, dev, &lov_req_ops); + result = 0; + } else + result = -ENOMEM; + RETURN(result); } static const struct cl_device_operations lov_cl_ops = {