* Called by the NAL when it initializes. Safe to call multiple times.
*
* Copyright (c) 2001-2003 Cluster File Systems, Inc.
- * Copyright (c) 2001-2002 Sandia National Laboratories
*
- * This file is part of Lustre, http://www.sf.net/projects/lustre/
+ * This file is part of Lustre, http://www.lustre.org
*
* Lustre is free software; you can redistribute it and/or
* modify it under the terms of version 2 of the GNU General Public
#include <portals/lib-p30.h>
#ifdef __KERNEL__
-# include <linux/string.h> /* for memset() */
-# include <linux/kp30.h>
-# ifdef KERNEL_ADDR_CACHE
-# include <compute/OS/addrCache/cache.h>
-# endif
+# include <libcfs/kp30.h>
#else
# include <string.h>
# include <sys/time.h>
if (space == NULL)
return (PTL_NO_SPACE);
- INIT_LIST_HEAD (&fl->fl_list);
+ CFS_INIT_LIST_HEAD (&fl->fl_list);
fl->fl_objs = space;
fl->fl_nobjs = n;
fl->fl_objsize = size;
return (PTL_NO_SPACE);
for (i = 0; i < ni->ni_lh_hash_size; i++)
- INIT_LIST_HEAD (&ni->ni_lh_hash_table[i]);
+ CFS_INIT_LIST_HEAD (&ni->ni_lh_hash_table[i]);
ni->ni_next_object_cookie = PTL_COOKIE_TYPES;
apinal->nal_ni_status = lib_api_ni_status;
apinal->nal_ni_dist = lib_api_ni_dist;
apinal->nal_fail_nid = lib_api_fail_nid;
+ apinal->nal_loopback = lib_api_loopback;
apinal->nal_me_attach = lib_api_me_attach;
apinal->nal_me_insert = lib_api_me_insert;
apinal->nal_me_unlink = lib_api_me_unlink;
memset(&ni->ni_counters, 0, sizeof(lib_counters_t));
- INIT_LIST_HEAD (&ni->ni_active_msgs);
- INIT_LIST_HEAD (&ni->ni_active_mds);
- INIT_LIST_HEAD (&ni->ni_active_eqs);
- INIT_LIST_HEAD (&ni->ni_test_peers);
+ CFS_INIT_LIST_HEAD (&ni->ni_active_msgs);
+ CFS_INIT_LIST_HEAD (&ni->ni_active_mds);
+ CFS_INIT_LIST_HEAD (&ni->ni_active_eqs);
+ CFS_INIT_LIST_HEAD (&ni->ni_test_peers);
#ifdef __KERNEL__
spin_lock_init (&ni->ni_lock);
- init_waitqueue_head (&ni->ni_waitq);
+ cfs_waitq_init (&ni->ni_waitq);
#else
pthread_mutex_init(&ni->ni_mutex, NULL);
pthread_cond_init(&ni->ni_cond, NULL);
}
for (i = 0; i < ptl_size; i++)
- INIT_LIST_HEAD(&(ni->ni_portals.tbl[i]));
+ CFS_INIT_LIST_HEAD(&(ni->ni_portals.tbl[i]));
/* max_{mes,mds,eqs} set in kportal_descriptor_setup */
if (actual_limits != NULL)
*actual_limits = ni->ni_actual_limits;
+ /* disable loopback optimisation by default */
+ ni->ni_loopback = 0;
+
out:
if (rc != PTL_OK) {
lib_cleanup_handle_hash (libnal);