Index: backends/flint/flint_table.cc
===================================================================
--- backends/flint/flint_table.cc	(revision 7545)
+++ backends/flint/flint_table.cc	(working copy)
@@ -243,6 +243,7 @@
      */
     Assert(n / CHAR_BIT < base.get_bit_map_size());
 
+    ++blocks_read;
 #ifdef HAVE_PREAD
     off_t offset = off_t(block_size) * n;
     int m = block_size;
@@ -1423,7 +1424,8 @@
 }
 
 FlintTable::FlintTable(string path_, bool readonly_)
-	: revision_number(0),
+	: blocks_read(0),
+	  revision_number(0),
 	  item_count(0),
 	  block_size(0),
 	  latest_revision_number(0),
@@ -1511,6 +1513,7 @@
 FlintTable::~FlintTable() {
     DEBUGCALL(DB, void, "FlintTable::~FlintTable", "");
     FlintTable::close();
+    fprintf(stderr, "%lu blocks read from %s\n", (unsigned long)blocks_read, name.c_str());
 }
 
 void FlintTable::close() {
Index: backends/flint/flint_table.h
===================================================================
--- backends/flint/flint_table.h	(revision 7545)
+++ backends/flint/flint_table.h	(working copy)
@@ -512,6 +512,8 @@
 	void split_root(uint4 split_n);
 	void form_key(const string & key) const;
 
+	mutable size_t blocks_read;
+
 	/** revision number of the opened B-tree. */
 	flint_revision_number_t revision_number;
 
