Esempio n. 1
0
static void brelse_free(struct btree *btree, struct buffer_head *buffer)
{
	struct sb *sb = btree->sb;
	block_t block = bufindex(buffer);
	if (bufcount(buffer) != 1) {
		warn("free block %Lx still in use!", (L)bufindex(buffer));
		brelse(buffer);
		assert(bufcount(buffer) == 0);
		return;
	}
	brelse(buffer);
	(btree->ops->bfree)(sb, block, 1);
	set_buffer_empty(buffer); // free it!!! (and need a buffer free state)
}
Esempio n. 2
0
/* unused */
void show_cursor(struct cursor *cursor, int depth)
{
	printf(">>> cursor %p/%i:", cursor, depth);
	for (int i = 0; i < depth; i++)
		printf(" [%Lx/%i]", (L)bufindex(cursor->path[i].buffer), bufcount(cursor->path[i].buffer));
	printf("\n");
}
Esempio n. 3
0
File: btree.c Progetto: Zkin/tux3
/* unused */
void show_cursor(struct cursor *cursor, int depth)
{
	__tux3_dbg(">>> cursor %p/%i:", cursor, depth);
	for (int i = 0; i < depth; i++) {
		__tux3_dbg(" [%Lx/%i]",
			   bufindex(cursor->path[i].buffer),
			   bufcount(cursor->path[i].buffer));
	}
	__tux3_dbg("\n");
}
Esempio n. 4
0
/* unused */
void show_cursor(struct cursor *cursor, int depth)
{
	if(DEBUG_MODE_K==1)
	{
		printf("\t\t\t\t%25s[K]  %25s  %4d  #in\n",__FILE__,__func__,__LINE__);
	}
	__tux3_dbg(">>> cursor %p/%i:", cursor, depth);
	for (int i = 0; i < depth; i++) {
		__tux3_dbg(" [%Lx/%i]",
			   bufindex(cursor->path[i].buffer),
			   bufcount(cursor->path[i].buffer));
	}
	__tux3_dbg("\n");
}