[Box Backup-commit] COMMIT r1753 - box/chris/merge/bin/bbackupd

boxbackup-dev@fluffy.co.uk boxbackup-dev@fluffy.co.uk
Thu, 26 Jul 2007 22:54:04 +0100


Author: chris
Date: 2007-07-26 22:54:04 +0100 (Thu, 26 Jul 2007)
New Revision: 1753

Modified:
   box/chris/merge/bin/bbackupd/BackupDaemon.cpp
Log:
Apply Gary's patch to save the list of unused root directory entries
in the store object info file, so that they will persist across restarts.
(refs #18, refs #3, merges [1658])


Modified: box/chris/merge/bin/bbackupd/BackupDaemon.cpp
===================================================================
--- box/chris/merge/bin/bbackupd/BackupDaemon.cpp	2007-07-26 21:53:28 UTC (rev 1752)
+++ box/chris/merge/bin/bbackupd/BackupDaemon.cpp	2007-07-26 21:54:04 UTC (rev 1753)
@@ -2611,7 +2611,7 @@
 
 static const int STOREOBJECTINFO_MAGIC_ID_VALUE = 0x7777525F;
 static const std::string STOREOBJECTINFO_MAGIC_ID_STRING = "BBACKUPD-STATE";
-static const int STOREOBJECTINFO_VERSION = 1;
+static const int STOREOBJECTINFO_VERSION = 2;
 
 bool BackupDaemon::SerializeStoreObjectInfo(int64_t aClientStoreMarker, box_time_t theLastSyncTime, box_time_t theNextSyncTime) const
 {
@@ -2671,8 +2671,9 @@
 		//
 		//
 		aFile.Close();
-		BOX_INFO("Saved store object info file: "
-			<< StoreObjectInfoFile);
+		BOX_INFO("Saved store object info file: " <<
+			StoreObjectInfoFile << ", version " <<
+			STOREOBJECTINFO_VERSION);
 	}
 	catch(std::exception &e)
 	{
@@ -2830,6 +2831,26 @@
 		//
 		//
 		//
+		iCount = 0;
+		anArchive.Read(iCount);
+
+		for(int v = 0; v < iCount; v++)
+		{
+			int64_t anId;
+			anArchive.Read(anId);
+
+			std::string aName;
+			anArchive.Read(aName);
+
+			mUnusedRootDirEntries.push_back(std::pair<int64_t, std::string>(anId, aName));
+		}
+
+		if (iCount > 0)
+			anArchive.Read(mDeleteUnusedRootDirEntriesAfter);
+
+		//
+		//
+		//
 		aFile.Close();
 		BOX_INFO("Loaded store object info file version " << iVersion
 			<< "(" << StoreObjectInfoFile << ")");