diff options
Diffstat (limited to 'lib/backupstore/BackupStoreContext.cpp')
-rw-r--r-- | lib/backupstore/BackupStoreContext.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/lib/backupstore/BackupStoreContext.cpp b/lib/backupstore/BackupStoreContext.cpp index 974c4e3e..0fdbe106 100644 --- a/lib/backupstore/BackupStoreContext.cpp +++ b/lib/backupstore/BackupStoreContext.cpp @@ -1017,10 +1017,20 @@ void BackupStoreContext::SaveDirectory(BackupStoreDirectory &rDir) GetDirectoryInternal(rDir.GetContainerID())); BackupStoreDirectory::Entry* en = parent.FindEntryByID(rDir.GetObjectID()); - ASSERT(en); - ASSERT(en->GetSizeInBlocks() == old_dir_size); - en->SetSizeInBlocks(new_dir_size); - SaveDirectory(parent); + if(!en) + { + BOX_ERROR("Missing entry for directory " << + BOX_FORMAT_OBJECTID(rDir.GetObjectID()) << + " in directory " << + BOX_FORMAT_OBJECTID(rDir.GetContainerID()) << + " while trying to update dir size in parent"); + } + else + { + ASSERT(en->GetSizeInBlocks() == old_dir_size); + en->SetSizeInBlocks(new_dir_size); + SaveDirectory(parent); + } } } catch(...) |