Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LU-1302 llog: pass lu_env as parametr in llog functions
[fs/lustre-release.git]
/
lustre
/
obdclass
/
cl_object.c
diff --git
a/lustre/obdclass/cl_object.c
b/lustre/obdclass/cl_object.c
index
930384e
..
5ab8a92
100644
(file)
--- a/
lustre/obdclass/cl_object.c
+++ b/
lustre/obdclass/cl_object.c
@@
-1,6
+1,4
@@
-/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
- * vim:expandtab:shiftwidth=8:tabstop=8:
- *
+/*
* GPL HEADER START
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* GPL HEADER START
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@
-28,6
+26,8
@@
/*
* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
/*
* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
+ *
+ * Copyright (c) 2011, 2012, Whamcloud, Inc.
*/
/*
* This file is part of Lustre, http://www.lustre.org/
*/
/*
* This file is part of Lustre, http://www.lustre.org/
@@
-50,9
+50,6
@@
*/
#define DEBUG_SUBSYSTEM S_CLASS
*/
#define DEBUG_SUBSYSTEM S_CLASS
-#ifndef EXPORT_SYMTAB
-# define EXPORT_SYMTAB
-#endif
#include <libcfs/libcfs.h>
/* class_put_type() */
#include <libcfs/libcfs.h>
/* class_put_type() */
@@
-76,6
+73,8
@@
static cfs_lock_class_key_t cl_lock_guard_class;
/** Lock class of cl_object_header::coh_attr_guard */
static cfs_lock_class_key_t cl_attr_guard_class;
/** Lock class of cl_object_header::coh_attr_guard */
static cfs_lock_class_key_t cl_attr_guard_class;
+extern __u32 lu_context_tags_default;
+extern __u32 lu_session_tags_default;
/**
* Initialize cl_object_header.
*/
/**
* Initialize cl_object_header.
*/
@@
-541,7
+540,7
@@
static CFS_LIST_HEAD(cl_envs);
static unsigned cl_envs_cached_nr = 0;
static unsigned cl_envs_cached_max = 128; /* XXX: prototype: arbitrary limit
* for now. */
static unsigned cl_envs_cached_nr = 0;
static unsigned cl_envs_cached_max = 128; /* XXX: prototype: arbitrary limit
* for now. */
-static
cfs_spinlock_t cl_envs_guard = CFS_SPIN_LOCK_UNLOCKED
;
+static
DEFINE_SPINLOCK(cl_envs_guard)
;
struct cl_env {
void *ce_magic;
struct cl_env {
void *ce_magic;
@@
-750,7
+749,7
@@
static inline struct cl_env *cl_env_detach(struct cl_env *cle)
return cle;
}
return cle;
}
-static struct lu_env *cl_env_new(__u32 tags, void *debug)
+static struct lu_env *cl_env_new(__u32
ctx_tags, __u32 ses_
tags, void *debug)
{
struct lu_env *env;
struct cl_env *cle;
{
struct lu_env *env;
struct cl_env *cle;
@@
-762,9
+761,10
@@
static struct lu_env *cl_env_new(__u32 tags, void *debug)
CFS_INIT_LIST_HEAD(&cle->ce_linkage);
cle->ce_magic = &cl_env_init0;
env = &cle->ce_lu;
CFS_INIT_LIST_HEAD(&cle->ce_linkage);
cle->ce_magic = &cl_env_init0;
env = &cle->ce_lu;
- rc = lu_env_init(env, LCT_CL_THREAD|tags);
+ rc = lu_env_init(env, LCT_CL_THREAD|
ctx_
tags);
if (rc == 0) {
if (rc == 0) {
- rc = lu_context_init(&cle->ce_ses, LCT_SESSION|tags);
+ rc = lu_context_init(&cle->ce_ses,
+ LCT_SESSION | ses_tags);
if (rc == 0) {
lu_context_enter(&cle->ce_ses);
env->le_ses = &cle->ce_ses;
if (rc == 0) {
lu_context_enter(&cle->ce_ses);
env->le_ses = &cle->ce_ses;
@@
-820,7
+820,8
@@
static struct lu_env *cl_env_obtain(void *debug)
}
} else {
cfs_spin_unlock(&cl_envs_guard);
}
} else {
cfs_spin_unlock(&cl_envs_guard);
- env = cl_env_new(0, debug);
+ env = cl_env_new(lu_context_tags_default,
+ lu_session_tags_default, debug);
}
RETURN(env);
}
}
RETURN(env);
}
@@
-895,7
+896,7
@@
struct lu_env *cl_env_alloc(int *refcheck, __u32 tags)
struct lu_env *env;
LASSERT(cl_env_peek(refcheck) == NULL);
struct lu_env *env;
LASSERT(cl_env_peek(refcheck) == NULL);
- env = cl_env_new(tags, __builtin_return_address(0));
+ env = cl_env_new(tags,
tags,
__builtin_return_address(0));
if (!IS_ERR(env)) {
struct cl_env *cle;
if (!IS_ERR(env)) {
struct cl_env *cle;