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-4423 libcfs: use 64-bit times for cfs_srand seed
[fs/lustre-release.git]
/
lustre
/
obdclass
/
lustre_handles.c
diff --git
a/lustre/obdclass/lustre_handles.c
b/lustre/obdclass/lustre_handles.c
index
0827178
..
dcdc4fa
100644
(file)
--- a/
lustre/obdclass/lustre_handles.c
+++ b/
lustre/obdclass/lustre_handles.c
@@
-15,11
+15,7
@@
*
* You should have received a copy of the GNU General Public License
* version 2 along with this program; If not, see
*
* You should have received a copy of the GNU General Public License
* version 2 along with this program; If not, see
- * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
+ * http://www.gnu.org/licenses/gpl-2.0.html
*
* GPL HEADER END
*/
*
* GPL HEADER END
*/
@@
-27,7
+23,7
@@
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
*
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
*
- * Copyright (c) 2011, 201
3
, Intel Corporation.
+ * Copyright (c) 2011, 201
4
, Intel Corporation.
*/
/*
* This file is part of Lustre, http://www.lustre.org/
*/
/*
* This file is part of Lustre, http://www.lustre.org/
@@
-98,7
+94,7
@@
void class_handle_hash(struct portals_handle *h,
h->h_in = 1;
spin_unlock(&bucket->lock);
h->h_in = 1;
spin_unlock(&bucket->lock);
- CDEBUG(D_INFO, "added object %p with handle
"LPX64"
to hash\n",
+ CDEBUG(D_INFO, "added object %p with handle
%#llx
to hash\n",
h, h->h_cookie);
EXIT;
}
h, h->h_cookie);
EXIT;
}
@@
-107,12
+103,12
@@
EXPORT_SYMBOL(class_handle_hash);
static void class_handle_unhash_nolock(struct portals_handle *h)
{
if (list_empty(&h->h_link)) {
static void class_handle_unhash_nolock(struct portals_handle *h)
{
if (list_empty(&h->h_link)) {
-
CERROR("removing an already-removed handle ("LPX64"
)\n",
+
CERROR("removing an already-removed handle (%#llx
)\n",
h->h_cookie);
return;
}
h->h_cookie);
return;
}
-
CDEBUG(D_INFO, "removing object %p with handle "LPX64"
from hash\n",
+
CDEBUG(D_INFO, "removing object %p with handle %#llx
from hash\n",
h, h->h_cookie);
spin_lock(&h->h_lock);
h, h->h_cookie);
spin_lock(&h->h_lock);
@@
-184,10
+180,13
@@
void *class_handle2object(__u64 cookie, const void *owner)
}
EXPORT_SYMBOL(class_handle2object);
}
EXPORT_SYMBOL(class_handle2object);
-void class_handle_free_cb(
cfs_rcu_head_t
*rcu)
+void class_handle_free_cb(
struct rcu_head
*rcu)
{
{
- struct portals_handle *h = RCU2HANDLE(rcu);
- void *ptr = (void *)(unsigned long)h->h_cookie;
+ struct portals_handle *h;
+ void *ptr;
+
+ h = container_of(rcu, struct portals_handle, h_rcu);
+ ptr = (void *)(unsigned long)h->h_cookie;
if (h->h_ops->hop_free != NULL)
h->h_ops->hop_free(ptr, h->h_size);
if (h->h_ops->hop_free != NULL)
h->h_ops->hop_free(ptr, h->h_size);
@@
-199,7
+198,7
@@
EXPORT_SYMBOL(class_handle_free_cb);
int class_handle_init(void)
{
struct handle_bucket *bucket;
int class_handle_init(void)
{
struct handle_bucket *bucket;
-
struct timeval tv
;
+
struct timespec64 ts
;
int seed[2];
LASSERT(handle_hash == NULL);
int seed[2];
LASSERT(handle_hash == NULL);
@@
-217,8
+216,8
@@
int class_handle_init(void)
/** bug 21430: add randomness to the initial base */
cfs_get_random_bytes(seed, sizeof(seed));
/** bug 21430: add randomness to the initial base */
cfs_get_random_bytes(seed, sizeof(seed));
-
do_gettimeofday(&tv
);
- cfs_srand(t
v.tv_sec ^ seed[0], tv.tv_u
sec ^ seed[1]);
+
ktime_get_ts64(&ts
);
+ cfs_srand(t
s.tv_sec ^ seed[0], ts.tv_n
sec ^ seed[1]);
cfs_get_random_bytes(&handle_base, sizeof(handle_base));
LASSERT(handle_base != 0ULL);
cfs_get_random_bytes(&handle_base, sizeof(handle_base));
LASSERT(handle_base != 0ULL);
@@
-236,7
+235,7
@@
static int cleanup_all_handles(void)
spin_lock(&handle_hash[i].lock);
list_for_each_entry_rcu(h, &(handle_hash[i].head), h_link) {
spin_lock(&handle_hash[i].lock);
list_for_each_entry_rcu(h, &(handle_hash[i].head), h_link) {
- CERROR("force clean handle
"LPX64"
addr %p ops %p\n",
+ CERROR("force clean handle
%#llx
addr %p ops %p\n",
h->h_cookie, h, h->h_ops);
class_handle_unhash_nolock(h);
h->h_cookie, h, h->h_ops);
class_handle_unhash_nolock(h);