void *l_lvb_data;
void *l_ast_data;
- cfs_spinlock_t l_extents_list_lock;
- cfs_list_t l_extents_list;
-
- cfs_list_t l_cache_locks_list;
/*
* Server-side-only members.
/* protected by ns_hash_lock */
cfs_list_t lr_hash;
- struct ldlm_resource *lr_parent; /* 0 for a root resource */
- cfs_list_t lr_children; /* list head for child resources */
cfs_list_t lr_childof; /* part of ns_root_list if root res,
* part of lr_children if child */
cfs_spinlock_t lr_lock;
CFS_INIT_LIST_HEAD(&lock->l_handle.h_link);
class_handle_hash(&lock->l_handle, lock_handle_addref);
- CFS_INIT_LIST_HEAD(&lock->l_extents_list);
- cfs_spin_lock_init(&lock->l_extents_list_lock);
- CFS_INIT_LIST_HEAD(&lock->l_cache_locks_list);
lu_ref_init(&lock->l_reference);
lu_ref_add(&lock->l_reference, "hash", lock);
lock->l_callback_timeout = 0;
memset(res, 0, sizeof(*res));
- CFS_INIT_LIST_HEAD(&res->lr_children);
CFS_INIT_LIST_HEAD(&res->lr_childof);
CFS_INIT_LIST_HEAD(&res->lr_granted);
CFS_INIT_LIST_HEAD(&res->lr_converting);
ns->ns_resources++;
ldlm_namespace_get_locked(ns);
- if (parent == NULL) {
- cfs_list_add(&res->lr_childof, &ns->ns_root_list);
- } else {
- res->lr_parent = parent;
- cfs_list_add(&res->lr_childof, &parent->lr_children);
- }
+ LASSERT(parent == NULL); /* legacy... */
+ cfs_list_add(&res->lr_childof, &ns->ns_root_list);
cfs_spin_unlock(&ns->ns_hash_lock);
if (ns->ns_lvbo && ns->ns_lvbo->lvbo_init) {
LBUG();
}
- if (!cfs_list_empty(&res->lr_children)) {
- ldlm_resource_dump(D_ERROR, res);
- LBUG();
- }
-
/* Pass 0 here to not wake ->ns_waitq up yet, we will do it few
* lines below when all children are freed. */
ldlm_namespace_put_locked(ns, 0);