* 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
static int count = 1;
if (node->hit == 1) {
- dprintf("NODE "__S" has ever been accessed\n",
- __F(&n->in_extent));
+ error("A duplicate node "__S" access found\n",
+ __F(&n->in_extent));
return INTERVAL_ITER_CONT;
- error("duplicate node accessing found\n");
- return INTERVAL_ITER_STOP;
}
-
+
if (node->valid == 0) {
error("A deleted node "__S" being accessed\n",
__F(&n->in_extent));
interval_search(root, &ext, cb, NULL);
dprintf("\nverifing ...");
-
+
/* verify */
for (i = 0; i < it_count; i++) {
n = &it_array[i];
if (n->valid == 0)
continue;
- if (extent_overlapped(&ext, &n->node.in_extent) &&
+ if (extent_overlapped(&ext, &n->node.in_extent) &&
n->hit == 0)
error("node "__S" overlaps" __S","
- "but never to be hit.\n",
+ "but never to be hit.\n",
__F(&n->node.in_extent),
__F(&ext));
- if (!extent_overlapped(&ext, &n->node.in_extent) &&
+ if (!extent_overlapped(&ext, &n->node.in_extent) &&
n->hit)
- error("node "__S" overlaps" __S", but hit.\n",
+ error("node "__S" overlaps" __S", but hit.\n",
__F(&n->node.in_extent),
__F(&ext));
}
}
if (!has) {
- int count = 1;
+ int count;
err:
+ count = 1;
dprintf("node"__S":%llu Child list:\n",
node->in_extent.start,
node->in_extent.end,
}
if (nr)
error("wrong tree, unbalanced!\n");
-
+
return 0;
}
return 0;
}
-static int contended_count = 0;
+static int contended_count = 0;
#define LOOP_COUNT 1000
static enum interval_iter perf_cb(struct interval_node *n, void *args)
{
long c = e->tv_sec - s->tv_sec;
c *= 1000;
c += (long int)(e->tv_usec - s->tv_usec) / 1000;
- dprintf("\tStart: %lu:%lu -> End: %lu:%lu\n",
+ dprintf("\tStart: %lu:%lu -> End: %lu:%lu\n",
s->tv_sec, s->tv_usec, e->tv_sec, e->tv_usec);
return c;
}
struct it_node *n;
struct timeval start, end;
unsigned long count;
-
+
ext.start = (random() % (max_count - len)) & ALIGN_MASK;
ext.end = (ext.start + len) & ALIGN_MASK;
if (have_wide_lock) {
if (n->valid) {
if (!interval_find(root, &n->node.in_extent))
error("Cannot find an existent node\n");
- dprintf("Erasing a node "__S"\n",
+ dprintf("Erasing a node "__S"\n",
__F(&n->node.in_extent));
interval_erase(&n->node, &root);
n->valid = 0;
interval_set(&n->node, low, high);
while (interval_insert(&n->node, &root))
interval_set(&n->node, low, ++high);
- dprintf("Adding a node "__S"\n",
+ dprintf("Adding a node "__S"\n",
__F(&n->node.in_extent));
n->valid = 1;
list_add(&n->list, &header);