/*
* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
+ *
+ * Copyright (c) 2012, Intel Corporation.
*/
/*
* This file is part of Lustre, http://www.lustre.org/
* Serializes access to lov_device::ld_emrg in low-memory
* conditions.
*/
- cfs_mutex_t ld_mutex;
+ struct mutex ld_mutex;
};
/**
*
* \see lov_object::lo_type
*/
- cfs_rw_semaphore_t lo_type_guard;
+ struct rw_semaphore lo_type_guard;
/**
* Type of an object. Protected by lov_object::lo_type_guard.
*/
/**
* protect lo_sub
*/
- cfs_spinlock_t lo_sub_lock;
+ spinlock_t lo_sub_lock;
/**
* Cached object attribute, built from sub-object
* attributes.
extern struct lu_context_key lov_key;
extern struct lu_context_key lov_session_key;
-extern cfs_mem_cache_t *lov_page_kmem;
extern cfs_mem_cache_t *lov_lock_kmem;
extern cfs_mem_cache_t *lov_object_kmem;
extern cfs_mem_cache_t *lov_thread_kmem;
extern cfs_mem_cache_t *lov_session_kmem;
extern cfs_mem_cache_t *lov_req_kmem;
-extern cfs_mem_cache_t *lovsub_page_kmem;
extern cfs_mem_cache_t *lovsub_lock_kmem;
extern cfs_mem_cache_t *lovsub_object_kmem;
extern cfs_mem_cache_t *lovsub_req_kmem;
int lov_lock_init_raid0 (const struct lu_env *env, struct cl_object *obj,
struct cl_lock *lock, const struct cl_io *io);
+int lov_lock_init_empty (const struct lu_env *env, struct cl_object *obj,
+ struct cl_lock *lock, const struct cl_io *io);
int lov_io_init_raid0 (const struct lu_env *env, struct cl_object *obj,
struct cl_io *io);
int lov_io_init_empty (const struct lu_env *env, struct cl_object *obj,
const struct cl_lock_descr *d, int idx);
-struct cl_page *lov_page_init (const struct lu_env *env, struct cl_object *ob,
- struct cl_page *page, cfs_page_t *vmpage);
-struct cl_page *lovsub_page_init(const struct lu_env *env, struct cl_object *ob,
- struct cl_page *page, cfs_page_t *vmpage);
+int lov_page_init (const struct lu_env *env, struct cl_object *ob,
+ struct cl_page *page, cfs_page_t *vmpage);
+int lovsub_page_init (const struct lu_env *env, struct cl_object *ob,
+ struct cl_page *page, cfs_page_t *vmpage);
-struct cl_page *lov_page_init_empty(const struct lu_env *env,
- struct cl_object *obj,
- struct cl_page *page, cfs_page_t *vmpage);
-struct cl_page *lov_page_init_raid0(const struct lu_env *env,
- struct cl_object *obj,
- struct cl_page *page, cfs_page_t *vmpage);
+int lov_page_init_empty (const struct lu_env *env,
+ struct cl_object *obj,
+ struct cl_page *page, cfs_page_t *vmpage);
+int lov_page_init_raid0 (const struct lu_env *env,
+ struct cl_object *obj,
+ struct cl_page *page, cfs_page_t *vmpage);
struct lu_object *lov_object_alloc (const struct lu_env *env,
const struct lu_object_header *hdr,
struct lu_device *dev);