What does "Reindexing blocks on disk" mean? When I upgraded to 0.8.1, it said Reindexing blocks on disk and it took about four days (Grr).  But later, it said something about a corrupted database and it had to do it again! What is it doing?
0.8x versions of the bitcoin-qt client now use a different database to store the blockchain.  This change was necessary to allow for larger block sizes.

The reindexing process is converting the previous database (which used BerkleyDB) into the new one (Which uses LevelDB).