compact: improve error messages on failures after compaction

The error messages written during the steps replacing old
database with new now includes relevant paths and strerror.
This commit is contained in:
Tomi Ollila 2013-11-15 00:03:27 +02:00 committed by David Bremner
parent 6452ae0fcb
commit 2fd7ef64ba

View file

@ -942,19 +942,27 @@ notmuch_database_compact (const char *path,
} }
if (rename (xapian_path, backup_path)) { if (rename (xapian_path, backup_path)) {
fprintf (stderr, "Error moving old database out of the way\n"); fprintf (stderr, "Error moving %s to %s: %s\n",
xapian_path, backup_path, strerror (errno));
ret = NOTMUCH_STATUS_FILE_ERROR; ret = NOTMUCH_STATUS_FILE_ERROR;
goto DONE; goto DONE;
} }
if (rename (compact_xapian_path, xapian_path)) { if (rename (compact_xapian_path, xapian_path)) {
fprintf (stderr, "Error moving compacted database\n"); fprintf (stderr, "Error moving %s to %s: %s\n",
compact_xapian_path, xapian_path, strerror (errno));
ret = NOTMUCH_STATUS_FILE_ERROR; ret = NOTMUCH_STATUS_FILE_ERROR;
goto DONE; goto DONE;
} }
if (! keep_backup) if (! keep_backup) {
rmtree (backup_path); if (rmtree (backup_path)) {
fprintf (stderr, "Error removing old database %s: %s\n",
backup_path, strerror (errno));
ret = NOTMUCH_STATUS_FILE_ERROR;
goto DONE;
}
}
DONE: DONE:
if (notmuch) if (notmuch)