#ifdef CONFIG_SMP
#define LASSERT_SPIN_LOCKED(lock) LASSERT(spin_is_locked(lock))
+#define LINVRNT_SPIN_LOCKED(lock) LINVRNT(spin_is_locked(lock))
#else
-#define LASSERT_SPIN_LOCKED(lock) do {} while(0)
+#define LASSERT_SPIN_LOCKED(lock) do {(void)sizeof(lock);} while(0)
+#define LINVRNT_SPIN_LOCKED(lock) do {(void)sizeof(lock);} while(0)
#endif
#define LASSERT_SEM_LOCKED(sem) LASSERT(down_trylock(sem) != 0)
typedef struct spin_lock spinlock_t;
#define SPIN_LOCK_UNLOCKED (spinlock_t) { }
-#define LASSERT_SPIN_LOCKED(lock) do {} while(0)
-#define LASSERT_SEM_LOCKED(sem) do {} while(0)
+#define LASSERT_SPIN_LOCKED(lock) do {(void)sizeof(lock);} while(0)
+#define LINVRNT_SPIN_LOCKED(lock) do {(void)sizeof(lock);} while(0)
+#define LASSERT_SEM_LOCKED(sem) do {(void)sizeof(sem);} while(0)
void spin_lock_init(spinlock_t *lock);
void spin_lock(spinlock_t *lock);
head = cl_object_header(obj);
site = cl_object_site(obj);
- LINVRNT(spin_is_locked(&head->coh_lock_guard));
+ LINVRNT_SPIN_LOCKED(&head->coh_lock_guard);
atomic_inc(&site->cs_locks.cs_lookup);
list_for_each_entry(lock, &head->coh_locks, cll_linkage) {
int matched;
struct lu_object_header *top;
int result;
- LASSERT(spin_is_locked(cl_object_attr_guard(obj)));
+ LASSERT_SPIN_LOCKED(cl_object_attr_guard(obj));
ENTRY;
top = obj->co_lu.lo_header;
struct lu_object_header *top;
int result;
- LASSERT(spin_is_locked(cl_object_attr_guard(obj)));
+ LASSERT_SPIN_LOCKED(cl_object_attr_guard(obj));
ENTRY;
top = obj->co_lu.lo_header;
const struct lu_device_type *dtype)
{
const struct cl_page_slice *slice;
+
+#ifdef INVARIANT_CHECK
struct cl_object_header *ch = cl_object_header(page->cp_obj);
+ if (!atomic_read(&page->cp_ref))
+ LASSERT_SPIN_LOCKED(&ch->coh_page_guard);
+#endif
ENTRY;
- LINVRNT(ergo(!atomic_read(&page->cp_ref),
- spin_is_locked(&ch->coh_page_guard)));
page = cl_page_top_trusted((struct cl_page *)page);
do {
{
struct cl_page *page;
- LASSERT(spin_is_locked(&hdr->coh_page_guard));
+ LASSERT_SPIN_LOCKED(&hdr->coh_page_guard);
page = radix_tree_lookup(&hdr->coh_tree, index);
if (page != NULL) {
struct ptlrpc_service *svc = rs->rs_service;
ENTRY;
-#ifdef CONFIG_SMP
- LASSERT (spin_is_locked (&svc->srv_lock));
-#endif
+ LASSERT_SPIN_LOCKED(&svc->srv_lock);
LASSERT (rs->rs_difficult);
rs->rs_scheduled_ever = 1; /* flag any notification attempt */