summaryrefslogtreecommitdiffstats
path: root/net/disk_cache/backend_impl.cc
diff options
context:
space:
mode:
authorrvargas@chromium.org <rvargas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-01 04:58:18 +0000
committerrvargas@chromium.org <rvargas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-01 04:58:18 +0000
commit82ae49ebded8ae66cdc0a70aceeeff66cecc4f2f (patch)
tree8e610f950716d8ae3313945f1622436cfa726221 /net/disk_cache/backend_impl.cc
parent8b3b3615e382d40dbfafca8a3f4b45552214953b (diff)
downloadchromium_src-82ae49ebded8ae66cdc0a70aceeeff66cecc4f2f.zip
chromium_src-82ae49ebded8ae66cdc0a70aceeeff66cecc4f2f.tar.gz
chromium_src-82ae49ebded8ae66cdc0a70aceeeff66cecc4f2f.tar.bz2
Disk Cache: Add more corruption tracking histograms.
BUG=none TEST=none Review URL: http://codereview.chromium.org/10148001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134678 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/disk_cache/backend_impl.cc')
-rw-r--r--net/disk_cache/backend_impl.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/net/disk_cache/backend_impl.cc b/net/disk_cache/backend_impl.cc
index 20fd40f..d4ccd24 100644
--- a/net/disk_cache/backend_impl.cc
+++ b/net/disk_cache/backend_impl.cc
@@ -450,6 +450,9 @@ int BackendImpl::SyncInit() {
return net::ERR_FAILED;
}
+ if (create_files || !data_->header.num_entries)
+ ReportError(ERR_CACHE_CREATED);
+
if (!(user_flags_ & kNoRandom) &&
cache_type_ == net::DISK_CACHE && !InitExperiment(&data_->header))
return net::ERR_FAILED;
@@ -465,7 +468,7 @@ int BackendImpl::SyncInit() {
if (data_->header.crash) {
ReportError(ERR_PREVIOUS_CRASH);
} else {
- ReportError(0);
+ ReportError(ERR_NO_ERROR);
data_->header.crash = 1;
}
@@ -487,6 +490,9 @@ int BackendImpl::SyncInit() {
disabled_ = !rankings_.Init(this, new_eviction_);
+ if (!disabled_ && !(user_flags_ & kNoRandom) && base::RandInt(0, 99) < 2)
+ rankings_.SelfCheck(); // Ignore return value for now.
+
#if defined(STRESS_CACHE_EXTENDED_VALIDATION)
trace_object_->EnableTracing(false);
int sc = SelfCheck();
@@ -1553,8 +1559,7 @@ int BackendImpl::NewEntry(Addr address, EntryImpl** entry) {
STRESS_DCHECK(block_files_.IsValid(address));
- if (!address.is_initialized() || address.is_separate_file() ||
- address.file_type() != BLOCK_256) {
+ if (!address.SanityCheckForEntry()) {
LOG(WARNING) << "Wrong entry address.";
STRESS_NOTREACHED();
return ERR_INVALID_ADDRESS;