* in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU General Public License
- * version 2 along with this program; If not, see [sun.com URL with a
- * copy of GPLv2].
+ * 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
void *class_handle2object(__u64 cookie)
{
struct handle_bucket *bucket;
- struct list_head *tmp;
+ struct portals_handle *h;
void *retval = NULL;
ENTRY;
bucket = handle_hash + (cookie & HANDLE_HASH_MASK);
rcu_read_lock();
- list_for_each_rcu(tmp, &bucket->head) {
- struct portals_handle *h;
- h = list_entry(tmp, struct portals_handle, h_link);
+ list_for_each_entry_rcu(h, &bucket->head, h_link) {
if (h->h_cookie != cookie)
continue;
spin_lock(&h->h_lock);
- if (likely(h->h_cookie != 0)) {
+ if (likely(h->h_in != 0)) {
h->h_addref(h);
retval = h;
}
int i;
for (i = 0; i < HANDLE_HASH_SIZE; i++) {
- struct list_head *tmp, *pos;
- spin_lock(&handle_hash[i].lock);
- list_for_each_safe_rcu(tmp, pos, &(handle_hash[i].head)) {
- struct portals_handle *h;
- h = list_entry(tmp, struct portals_handle, h_link);
+ struct portals_handle *h;
+ 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 addref %p\n",
h->h_cookie, h, h->h_addref);