| OLD | NEW |
| (Empty) |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef NET_DISK_CACHE_SIMPLE_SIMPLE_VERSION_UPGRADE_H_ | |
| 6 #define NET_DISK_CACHE_SIMPLE_SIMPLE_VERSION_UPGRADE_H_ | |
| 7 | |
| 8 // Defines functionality to upgrade the file structure of the Simple Cache | |
| 9 // Backend on disk. Assumes no backend operations are running simultaneously. | |
| 10 // Hence must be run at cache initialization step. | |
| 11 | |
| 12 #include "base/basictypes.h" | |
| 13 #include "net/base/net_export.h" | |
| 14 | |
| 15 namespace base { | |
| 16 class FilePath; | |
| 17 } | |
| 18 | |
| 19 namespace disk_cache { | |
| 20 | |
| 21 // Performs all necessary disk IO to upgrade the cache structure if it is | |
| 22 // needed. | |
| 23 // | |
| 24 // Returns true iff no errors were found during consistency checks and all | |
| 25 // necessary transitions succeeded. If this function fails, there is nothing | |
| 26 // left to do other than dropping the whole cache directory. | |
| 27 NET_EXPORT_PRIVATE bool UpgradeSimpleCacheOnDisk(const base::FilePath& path); | |
| 28 | |
| 29 // The format for the fake index has mistakenly acquired two extra fields that | |
| 30 // do not contain any useful data. Since they were equal to zero, they are now | |
| 31 // mandatated to be zero. | |
| 32 struct NET_EXPORT_PRIVATE FakeIndexData { | |
| 33 FakeIndexData(); | |
| 34 | |
| 35 // Must be equal to simplecache_v4::kSimpleInitialMagicNumber. | |
| 36 uint64 initial_magic_number; | |
| 37 | |
| 38 // Must be equal kSimpleVersion when the cache backend is instantiated. | |
| 39 uint32 version; | |
| 40 | |
| 41 uint32 unused_must_be_zero1; | |
| 42 uint32 unused_must_be_zero2; | |
| 43 }; | |
| 44 | |
| 45 // Exposed for testing. | |
| 46 NET_EXPORT_PRIVATE bool UpgradeIndexV5V6(const base::FilePath& cache_directory); | |
| 47 | |
| 48 } // namespace disk_cache | |
| 49 | |
| 50 #endif // NET_DISK_CACHE_SIMPLE_SIMPLE_VERSION_UPGRADE_H_ | |
| OLD | NEW |