Whamcloud - gitweb
LU-3242 obdclass: skip zero cookie in class_handle_hash()
[fs/lustre-release.git] / lustre / obdclass / lustre_handles.c
index 20d8b83..44ebea0 100644 (file)
@@ -66,16 +66,7 @@ static struct handle_bucket {
        cfs_list_t      head;
 } *handle_hash;
 
-#ifdef __arch_um__
-/* For unknown reason, UML uses kmalloc rather than vmalloc to allocate
- * memory(OBD_VMALLOC). Therefore, we have to redefine the
- * HANDLE_HASH_SIZE to make the hash heads don't exceed 128K.
- */
-#define HANDLE_HASH_SIZE 4096
-#else
 #define HANDLE_HASH_SIZE (1 << 16)
-#endif /* ifdef __arch_um__ */
-
 #define HANDLE_HASH_MASK (HANDLE_HASH_SIZE - 1)
 
 /*
@@ -98,7 +89,6 @@ void class_handle_hash(struct portals_handle *h,
        spin_lock(&handle_base_lock);
        handle_base += HANDLE_INCR;
 
-       h->h_cookie = handle_base;
        if (unlikely(handle_base == 0)) {
                /*
                 * Cookie of zero is "dangerous", because in many places it's
@@ -108,6 +98,7 @@ void class_handle_hash(struct portals_handle *h,
                CWARN("The universe has been exhausted: cookie wrap-around.\n");
                handle_base += HANDLE_INCR;
        }
+       h->h_cookie = handle_base;
        spin_unlock(&handle_base_lock);
 
        h->h_ops = ops;