My laptop had a kernel oops this morning, apparently triggered by getting bumped (not very hard, actually). Upon restarting, I have a corrupt database: $ notmuch search tag:inbox A Xapian exception occurred opening database: The revision being read has been discarded - you should call Xapian::Database::reopen() and retry the operation This is with Linux 3.8.11 and btrfs, though nothing else on the file systems appears to have been affected. $ xapian-check Mail/.notmuch/xapian/ Database couldn't be opened for reading: DatabaseModifiedError: The revision being read has been discarded - you should call Xapian::Database::reopen() and retry the operation Continuing check anyway Cross-checking document lengths between the postlist and termlist tables would use more than 1GB of memory, so skipping that check record: xapian-check: DatabaseCorruptError: Db block overwritten - are there multiple writers? >From the xapian list archives, recovery doesn't look likely. According to this mail, it sounds like the commit should have been atomic. http://lists.xapian.org/pipermail/xapian-discuss/2009-September/007126.html Is there likely to be any information in my database that would help track down the reason why the commit was not atomic? I don't rule out the possibility that the corruption was entirely the kernel's fault, but I don't want to leap to conclusions either.