type == LDLM_PLAIN ? res_id->name[3] :
policy->l_extent.end);
else if (!(flags & LDLM_FL_TEST_LOCK)) /* less verbose for test-only */
- LDLM_DEBUG_NOLOCK("not matched type %u mode %u res "LPU64"/"LPU64,
- type, mode, res_id->name[0], res_id->name[1]);
+ LDLM_DEBUG_NOLOCK("not matched ns %p type %u mode %u res "
+ LPU64"/"LPU64" ("LPU64" "LPU64")", ns,
+ type, mode, res_id->name[0], res_id->name[1],
+ type == LDLM_PLAIN ? res_id->name[2] :
+ policy->l_extent.start,
+ type == LDLM_PLAIN ? res_id->name[3] :
+ policy->l_extent.end);
if (old_lock)
LDLM_LOCK_PUT(old_lock);
"write: %d\n", (int)lock->l_req_mode, (int)lock->l_granted_mode,
atomic_read(&lock->l_refc), lock->l_readers, lock->l_writers);
if (lock->l_resource->lr_type == LDLM_EXTENT)
- CDEBUG(level, " Extent: "LPU64" -> "LPU64"\n",
+ CDEBUG(level, " Extent: "LPU64" -> "LPU64
+ " (req "LPU64"-"LPU64")\n",
lock->l_policy_data.l_extent.start,
- lock->l_policy_data.l_extent.end);
+ lock->l_policy_data.l_extent.end,
+ lock->l_req_extent.start, lock->l_req_extent.end);
else if (lock->l_resource->lr_type == LDLM_FLOCK)
CDEBUG(level, " Pid: %d Extent: "LPU64" -> "LPU64"\n",
lock->l_policy_data.l_flock.pid,
struct lustre_handle lockh;
ENTRY;
- memcpy(&tmpex, &lock->l_policy_data.l_extent, sizeof(tmpex));
+ memcpy(&tmpex, &lock->l_policy_data, sizeof(tmpex));
CDEBUG(D_INODE|D_PAGE, "inode %lu(%p) ["LPU64"->"LPU64"] size: %llu\n",
inode->i_ino, inode, tmpex.l_extent.start, tmpex.l_extent.end,
inode->i_size);
* more efficient by associating locks with pages and with
* batching writeback under the lock explicitly. */
for (i = start, j = start % count ; i <= end;
- tmpex.l_extent.start += PAGE_CACHE_SIZE, j++, i++) {
+ j++, i++, tmpex.l_extent.start += PAGE_CACHE_SIZE) {
LASSERTF(tmpex.l_extent.start< lock->l_policy_data.l_extent.end,
LPU64" >= "LPU64" start %lu i %lu end %lu\n",
tmpex.l_extent.start, lock->l_policy_data.l_extent.end,
if (list_empty(&inode->i_mapping->dirty_pages) &&
list_empty(&inode->i_mapping->clean_pages) &&
list_empty(&inode->i_mapping->locked_pages)) {
- CDEBUG(D_INODE, "nothing left\n");
+ CDEBUG(D_INODE|D_PAGE, "nothing left\n");
ll_pgcache_unlock(inode->i_mapping);
break;
}
}
unlock_page(page);
page_cache_release(page);
+
next_index:
if (j == count) {
i += skip;
j = 0;
}
-
}
EXIT;
}