summaryrefslogtreecommitdiffstats
path: root/net/disk_cache
Commit message (Collapse)AuthorAgeFilesLines
* Revert 88690 - Disk cache: Close the current experiment for new users.rvargas@google.com2011-06-101-6/+28
| | | | | | | | | | | | | Intended for the Beta branch. BUG=79186 TEST=none Review URL: http://codereview.chromium.org/7003037 TBR=rvargas@google.com Review URL: http://codereview.chromium.org/7129066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88726 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Close the current experiment for new users.rvargas@google.com2011-06-101-28/+6
| | | | | | | | | | Intended for the Beta branch. BUG=79186 TEST=none Review URL: http://codereview.chromium.org/7003037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88690 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce the ANNOTATE_LEAKING_OBJECT_PTR annotation that can be used to markglider@chromium.org2011-05-313-4/+4
| | | | | | | | | | | | heap allocated objects as intentionally leaked ones. Annotate the histograms produced by {Histogram,BooleanHistogram,LinearHistogram,CustomHistogram}::FactoryGet(), as leaked. Rename StatsHistogram::StatsHistogramFactoryGet to StatsHistogram::FactoryGet, annotate the result as leaky, update the suppressions. BUG=79322 Review URL: http://codereview.chromium.org/7071036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87278 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 86990 - Fix http://codereview.chromium.org/6869009 to ignore an ↵msw@chromium.org2011-05-273-6/+4
| | | | | | | | | | | | | | | | | | | existing object exactly once and land the CL again: Introduce the ANNOTATE_LEAKING_OBJECT_PTR annotation that can be used to mark heap allocated objects as intentionally leaked ones. Annotate the histograms produced by {Histogram,BooleanHistogram,LinearHistogram,CustomHistogram}::FactoryGet(), as leaked. Rename StatsHistogram::StatsHistogramFactoryGet to StatsHistogram::FactoryGet, annotate the result as leaky, update the suppressions. BUG=79322 TBR=jar Review URL: http://codereview.chromium.org/6976044 TBR=glider@chromium.org Review URL: http://codereview.chromium.org/7071035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86993 0039d316-1c4b-4281-b951-d872f2087c98
* Fix http://codereview.chromium.org/6869009 to ignore an existing object ↵glider@chromium.org2011-05-273-4/+6
| | | | | | | | | | | | | | | | exactly once and land the CL again: Introduce the ANNOTATE_LEAKING_OBJECT_PTR annotation that can be used to mark heap allocated objects as intentionally leaked ones. Annotate the histograms produced by {Histogram,BooleanHistogram,LinearHistogram,CustomHistogram}::FactoryGet(), as leaked. Rename StatsHistogram::StatsHistogramFactoryGet to StatsHistogram::FactoryGet, annotate the result as leaky, update the suppressions. BUG=79322 TBR=jar Review URL: http://codereview.chromium.org/6976044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86990 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Land http://codereview.chromium.org/6869009 for the third time."oshima@google.com2011-05-263-5/+4
| | | | | | | | | | | | | | | | | | | | | | This reverts commit d4ff483fbf60aad0b49fddd1937774edb3ba1d7e. --- Introduce the ANNOTATE_LEAKING_OBJECT_PTR annotation that can be used to mark heap allocated objects as intentionally leaked ones. Annotate the histograms produced by {Histogram,BooleanHistogram,LinearHistogram,CustomHistogram}::FactoryGet(), as leaked. Rename StatsHistogram::StatsHistogramFactoryGet to StatsHistogram::FactoryGet, annotate the result as leaky, update the suppressions. --- TBR=glider@chromium.org TEST=HistogramTest.RecordedStartupTest and WebSocketTest.ServerSentData in heapchecker bot wont hang. BUG=79322 Review URL: http://codereview.chromium.org/6962016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86853 0039d316-1c4b-4281-b951-d872f2087c98
* Land http://codereview.chromium.org/6869009 for the third time.glider@chromium.org2011-05-263-4/+5
| | | | | | | | | | | | | | Introduce the ANNOTATE_LEAKING_OBJECT_PTR annotation that can be used to mark heap allocated objects as intentionally leaked ones. Annotate the histograms produced by {Histogram,BooleanHistogram,LinearHistogram,CustomHistogram}::FactoryGet(), as leaked. Rename StatsHistogram::StatsHistogramFactoryGet to StatsHistogram::FactoryGet, annotate the result as leaky, update the suppressions. BUG=79322 TBR=jar,willchan Review URL: http://codereview.chromium.org/7062016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86794 0039d316-1c4b-4281-b951-d872f2087c98
* Virtual destructors should have virtual keyword.hans@chromium.org2011-05-258-10/+13
| | | | | | | | | | | | | | | | | Make sure user-declared virtual destructors always have the virtual keyword. The Clang style-check plugin will check for this soon. No functionality change: virtual is only added to destructors that are already implicitly virtual. Also fix a couple of in-line destructor definitions. BUG=83408 TEST=none Review URL: http://codereview.chromium.org/7064033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86587 0039d316-1c4b-4281-b951-d872f2087c98
* Move scoped_temp_dir and scoped_native_library back from base/memory to base.thakis@chromium.org2011-05-191-2/+2
| | | | | | | | | | | It looks like they got moved accidentally in http://codereview.chromium.org/6714032 BUG=none TEST=none Review URL: http://codereview.chromium.org/7048007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86010 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 85898 - Re-land http://codereview.chromium.org/6869009 (except for ↵glider@chromium.org2011-05-193-5/+4
| | | | | | | | | | | | | | | | | | | | | the suppressions) Introduce the ANNOTATE_LEAKING_OBJECT_PTR annotation that can be used to mark heap allocated objects as intentionally leaked ones. Annotate the histograms produced by {Histogram,BooleanHistogram,LinearHistogram,CustomHistogram}::FactoryGet(), as leaked. Rename StatsHistogram::StatsHistogramFactoryGet to StatsHistogram::FactoryGet, annotate the result as leaky. The previous commit broke the build on Linux Heapcheck, but looks like the problem has gone now. TBR=jar,willchan BUG=79322 Review URL: http://codereview.chromium.org/7048005 TBR=glider@chromium.org Review URL: http://codereview.chromium.org/7049006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85905 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land http://codereview.chromium.org/6869009 (except for the suppressions)glider@chromium.org2011-05-193-4/+5
| | | | | | | | | | | | | | | | Introduce the ANNOTATE_LEAKING_OBJECT_PTR annotation that can be used to mark heap allocated objects as intentionally leaked ones. Annotate the histograms produced by {Histogram,BooleanHistogram,LinearHistogram,CustomHistogram}::FactoryGet(), as leaked. Rename StatsHistogram::StatsHistogramFactoryGet to StatsHistogram::FactoryGet, annotate the result as leaky. The previous commit broke the build on Linux Heapcheck, but looks like the problem has gone now. TBR=jar,willchan BUG=79322 Review URL: http://codereview.chromium.org/7048005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85898 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Re-open the deleted list length experiment.rvargas@google.com2011-05-183-26/+54
| | | | | | | | BUG=79186 TEST=none Review URL: http://codereview.chromium.org/7036028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85826 0039d316-1c4b-4281-b951-d872f2087c98
* Fix net_perftestsjoth@chromium.org2011-05-121-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this, I am reliably getting the following crash. It looks like the timer may fire (in the nested MessageLoop run call inside TestCompletionCallback::WaitForResult) before the expected num_callbacks_ gets set. [ RUN ] DiskCacheTest.CacheBackendPerformance [18893:18893:0511/165403:1994535049146:FATAL:disk_cache_test_util.cc(174)] Check failed: false. Backtrace: base::debug::StackTrace::StackTrace() [0x4ed37e] logging::LogMessage::~LogMessage() [0x4fdd12] MessageLoopHelper::TimerExpired() [0x4d2589] DispatchToMethod<>() [0x4d2b42] base::BaseTimer<>::TimerTask::Run() [0x4d29d2] (anonymous namespace)::TaskClosureAdapter::Run() [0x4ffac9] base::internal::Invoker1<>::DoInvoke() [0x503624] base::Callback<>::Run() [0x504799] MessageLoop::RunTask() [0x50241c] MessageLoop::DeferOrRunPendingTask() [0x502553] MessageLoop::DoDelayedWork() [0x502f49] base::MessagePumpLibevent::Run() [0x4d9e8b] MessageLoop::RunInternal() [0x50222b] MessageLoop::RunHandler() [0x5020de] MessageLoop::Run() [0x501af9] TestCompletionCallback::WaitForResult() [0x4d1681] TestCompletionCallback::GetResult() [0x4d16e6] (anonymous namespace)::TimeWrite() [0x4136cc] DiskCacheTest_CacheBackendPerformance_Test::TestBody() [0x41407b] testing::internal::HandleSehExceptionsInMethodIfSupported<>() [0x588785] testing::internal::HandleExceptionsInMethodIfSupported<>() [0x585206] testing::Test::Run() [0x579066] testing::TestInfo::Run() [0x57988a] testing::TestCase::Run() [0x579f80] testing::internal::UnitTestImpl::RunAllTests() [0x57ed57] BUG=None TEST=net_perftests Review URL: http://codereview.chromium.org/7001028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85139 0039d316-1c4b-4281-b951-d872f2087c98
* Updating logging in src/net/disk_cache/. Using DCHECK_NE/EQ/GT/GE/LT/LE() ↵kushi.p@gmail.com2011-05-118-23/+23
| | | | | | | | | | | where possible BUG=58409 Review URL: http://codereview.chromium.org/6966001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84966 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Make sure the list of unused entries is notrvargas@google.com2011-05-104-22/+56
| | | | | | | | | | | depleted if we are not reaching the time targets for any of the lists. BUG=79491 TEST=netunittests Review URL: http://codereview.chromium.org/6967006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84877 0039d316-1c4b-4281-b951-d872f2087c98
* iwyu: Use callback_old.h where appropriate, part 2.jhawkins@chromium.org2011-05-101-1/+2
| | | | | | | | | | | BUG=none TEST=none R=thakis@chromium.org Review URL: http://codereview.chromium.org/6995007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84753 0039d316-1c4b-4281-b951-d872f2087c98
* disk cache: Add NET_API for net.dllrvargas@google.com2011-05-0715-46/+60
| | | | | | | | BUG=76997 TEST=NONE Review URL: http://codereview.chromium.org/6933045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84532 0039d316-1c4b-4281-b951-d872f2087c98
* Fix disk cache stats to include 'Open misses'joth@chromium.org2011-04-281-4/+4
| | | | | | | | | | BUG=None TEST=open chrome:net-internals and enusre Open misses is listed Review URL: http://codereview.chromium.org/6880242 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83315 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 82460 - Introduce the ANNOTATE_LEAKING_OBJECT_PTR annotation that can ↵glider@chromium.org2011-04-213-5/+4
| | | | | | | | | be used to markheap allocated objects as intentionally leaked ones.Annotate the histograms produced by {Histogram,BooleanHistogram,LinearHistogram,CustomHistogram}::FactoryGet(), as leaked.Rename StatsHistogram::StatsHistogramFactoryGet to StatsHistogram::FactoryGet, annotate the result as leaky, update the suppressions.BUG=79322Review URL: http://codereview.chromium.org/6869009 TBR=cbentzel Review URL: http://codereview.chromium.org/6873152 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82483 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce the ANNOTATE_LEAKING_OBJECT_PTR annotation that can be used to markglider@chromium.org2011-04-213-4/+5
| | | | | | | | | | | | heap allocated objects as intentionally leaked ones. Annotate the histograms produced by {Histogram,BooleanHistogram,LinearHistogram,CustomHistogram}::FactoryGet(), as leaked. Rename StatsHistogram::StatsHistogramFactoryGet to StatsHistogram::FactoryGet, annotate the result as leaky, update the suppressions. BUG=79322 Review URL: http://codereview.chromium.org/6869009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82460 0039d316-1c4b-4281-b951-d872f2087c98
* Disk Cache: Perform extra validations to data comming fromrvargas@google.com2011-04-146-11/+93
| | | | | | | | | | disk to detect obvious corruption going undetected. BUG=77841 TEST=net_unittests Review URL: http://codereview.chromium.org/6840035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81646 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 81472 - Disk Cache: Perform extra validations to data comming ↵nick@chromium.org2011-04-135-89/+8
| | | | | | | | | fromdisk to detect obvious corruption going undetected.BUG=77841TEST=net_unittestsReview URL: http://codereview.chromium.org/6821064 TBR=rvargas@google.com Review URL: http://codereview.chromium.org/6837035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81485 0039d316-1c4b-4281-b951-d872f2087c98
* Disk Cache: Perform extra validations to data comming fromrvargas@google.com2011-04-135-8/+89
| | | | | | | | | | disk to detect obvious corruption going undetected. BUG=77841 TEST=net_unittests Review URL: http://codereview.chromium.org/6821064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81472 0039d316-1c4b-4281-b951-d872f2087c98
* Use lock-free lazy initialization for static histogram referencesjar@chromium.org2011-04-055-24/+22
| | | | | | | | | | | | | | | | Make all histogram macros thread safe, and fast by again using statics to achieve performance. ...at the cost of: Leak all histograms to avoid races at shutdown. Also included leak suppression for valgrind. r=rtenneti BUG=78207 Review URL: http://codereview.chromium.org/6780035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80412 0039d316-1c4b-4281-b951-d872f2087c98
* Move flags initialization into block before sharing across threadsjar@chromium.org2011-03-301-3/+2
| | | | | | | | | | | | | | | | | | | | | | | We re-initialized the flags after we shared the histograms, so there was a potential race for multiple simultaneous initializations. This change completes the basic setting of the flags prior to registration, which in turn shares the histogram across threads. There was a potential race with the (later) setting of the flag during an upload from the renderer. With the new code, the flag is const except for its potential change by the renderer-serialization routine, which is also the only consumer of this flag (in the renderer). I also made the corresponding change to stats_histogram, even though the code was already at least as correct, as I wanted the patterns of use to remain analagous. r=rvargas,rtenneti BUG=77760 Review URL: http://codereview.chromium.org/6731074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79835 0039d316-1c4b-4281-b951-d872f2087c98
* Move some files from base to base/memory.levin@chromium.org2011-03-288-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | raw_scoped_refptr_mismatch_checker.h ref_counted.cc ref_counted.h ref_counted_memory.cc ref_counted_memory.h ref_counted_unittest.cc scoped_callback_factory.h scoped_comptr_win.h scoped_handle.h scoped_native_library.cc scoped_native_library.h scoped_native_library_unittest.cc scoped_nsobject.h scoped_open_process.h scoped_ptr.h scoped_ptr_unittest.cc scoped_temp_dir.cc scoped_temp_dir.h scoped_temp_dir_unittest.cc scoped_vector.h singleton.h singleton_objc.h singleton_unittest.cc linked_ptr.h linked_ptr_unittest.cc weak_ptr.cc weak_ptr.h weak_ptr_unittest.cc BUG=None TEST=Compile Review URL: http://codereview.chromium.org/6714032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79524 0039d316-1c4b-4281-b951-d872f2087c98
* Removed static variable for histograms to avoid race withrtenneti@chromium.org2011-03-191-4/+4
| | | | | | | | | | | histogram initialization across threads. BUG=76092 TEST=histogram unit tests. Sync tests R=jar Review URL: http://codereview.chromium.org/6712040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78809 0039d316-1c4b-4281-b951-d872f2087c98
* Adds memory cache logging, and updates disk cache logging.mmenke@chromium.org2011-03-1711-165/+476
| | | | | | | | | | Memory and disk cache use the same set of events, with the same parameters (Though the disk cache has a couple events the memory cache does not). Most disk cache events were renamed so as to no longer imply a connection to the disk cache, and all disk cache-related NetLog parameter class definitions were moved to a new file, since they're shared by both entry type. BUG=59382 TEST=none Review URL: http://codereview.chromium.org/6613027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78572 0039d316-1c4b-4281-b951-d872f2087c98
* Reland code to detect corruption of histogram rangesjar@chromium.org2011-03-052-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | This code was reverted because it caused, or exposed flakiness in sync unit test code (mostly on the Mac). We need to monitor that closely as we re-land. See the reviews and history in CLs: http://codereview.chromium.org/6577013 and http://codereview.chromium.org/6591052 This code generates CRC checksums for the histogram bucket-range vectors, and guarantees they remain intact when the histogram data is about to be uploaded to UMA. If the data is corrupted, then we will fail on a CHECK(). r=mbelshe,rvargas bug=73939 Review URL: http://codereview.chromium.org/6627011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77033 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: End the throttling experiment and removervargas@google.com2011-03-035-233/+28
| | | | | | | | | | | the throttling queue BUG=54338 TEST=none Review URL: http://codereview.chromium.org/6602073 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76830 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 76239 - Crash when we notice a corruption of the histogram range-vectorrsimha@chromium.org2011-03-032-14/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reason for revert: This patch might have resulted in some flakiness in the sync bots on the chromium waterfall. The range vector is calculated once when a histogram is constructed, and should never change over the lifetime of the histogram. When it does change, it means that memory is being overwritten. We now crash (via CHECK) when there is any detected corruption of the range vector. This CL uses a more robust check-sum algorithm to detect corruption of the vector. The previous algorithm just did a sum, and was too easilly tricked by small (offsetting) changes in several ranges. Hopefully, this CRC-32 implementation will not be so easilly fooled. I had to refactor the class to ensure that each histogram was completely constructed before I registered it. The old code could sometimes register a base class (tradtional Histogram, with exponential bucket spread) and then run the derived constructor (such as when creating a LinearHistogram, with a second construction of the ranges and checksum). I now carefully avoid generating the checksum until fully constructing the instance, and then I run InitializeBuckets only once on the instance before registering it. bug=73939,74467 r=mbelshe Review URL: http://codereview.chromium.org/6577013 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/6611001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76667 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 76345 - Small cleanup for previous histogram checkinrsimha@chromium.org2011-03-021-1/+1
| | | | | | | | | | | | | | | | | | | | | Reason for revert: This patch might have resulted in some flakiness in the sync bots on the chromium waterfall. CL http://codereview.chromium.org/6577013/ had a few changes suggested that were not incorporated. This CL has those name changes etc. r=rvargas Review URL: http://codereview.chromium.org/6591052 BUG=74467 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/6591129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76662 0039d316-1c4b-4281-b951-d872f2087c98
* Pure pedantry: Replace all ".size() == 0" with ".empty()".erg@google.com2011-03-021-1/+1
| | | | | | | | | BUG=carnitas TEST=compiles; existing unit tests. Review URL: http://codereview.chromium.org/6602049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76467 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Don't attempt to create another external filervargas@google.com2011-03-011-2/+6
| | | | | | | | | | | | after an unexpected failure. BUG=64807 TEST=none Review URL: http://codereview.chromium.org/6581016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76413 0039d316-1c4b-4281-b951-d872f2087c98
* Small cleanup for previous histogram checkinjar@chromium.org2011-03-011-1/+1
| | | | | | | | | | | | | | CL http://codereview.chromium.org/6577013/ had a few changes suggested that were not incorporated. This CL has those name changes etc. r=rvargas Review URL: http://codereview.chromium.org/6591052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76345 0039d316-1c4b-4281-b951-d872f2087c98
* Crash when we notice a corruption of the histogram range-vectorjar@chromium.org2011-02-282-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The range vector is calculated once when a histogram is constructed, and should never change over the lifetime of the histogram. When it does change, it means that memory is being overwritten. We now crash (via CHECK) when there is any detected corruption of the range vector. This CL uses a more robust check-sum algorithm to detect corruption of the vector. The previous algorithm just did a sum, and was too easilly tricked by small (offsetting) changes in several ranges. Hopefully, this CRC-32 implementation will not be so easilly fooled. I had to refactor the class to ensure that each histogram was completely constructed before I registered it. The old code could sometimes register a base class (tradtional Histogram, with exponential bucket spread) and then run the derived constructor (such as when creating a LinearHistogram, with a second construction of the ranges and checksum). I now carefully avoid generating the checksum until fully constructing the instance, and then I run InitializeBuckets only once on the instance before registering it. bug=73939 r=mbelshe Review URL: http://codereview.chromium.org/6577013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76239 0039d316-1c4b-4281-b951-d872f2087c98
* Mark DiskCacheBackendTest.AppCacheEnumerations as flakyphajdan.jr@chromium.org2011-02-281-1/+2
| | | | | | | | | | TBR=rvargas TEST=net_unittests BUG=74387 Review URL: http://codereview.chromium.org/6588046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76207 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: More fixes to avoid corruption.rvargas@google.com2011-02-236-85/+75
| | | | | | | | | | | | | | | | | | | | | | | | | * We now keep dirty entries in the map of open entries so that we handle better crashes when we are working with dirty entries. * EntryImpl now remembers if the entry was dirty on disk. * When we find a dirty entry while doing enumerations we now go through the regular path to delete the entry (InternalDoomEntry), and let MatchEntry delete the entry. The main problem with the old code is that it was possible to delete the entry without first removing it from the index, so a crash at that time would leave references to free addresses. * Now we correctly consider the case of not finding an entry when looking for its parent as an error. BUG=62085 TEST=net_unittests Review URL: http://codereview.chromium.org/6538006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75685 0039d316-1c4b-4281-b951-d872f2087c98
* Add stats-table counters to the disk cache so we can expose stats throughmbelshe@chromium.org2011-02-181-0/+3
| | | | | | | | | | | the benchmark lab. BUG=none TEST=none Review URL: http://codereview.chromium.org/6519042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75364 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Always initialize disabled_rvargas@google.com2011-02-161-0/+2
| | | | | | | | | BUG=73129 TEST=none Review URL: http://codereview.chromium.org/6529056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75203 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Fix the initialization order of the backend.rvargas@google.com2011-02-162-5/+29
| | | | | | | | | | BUG=72963 TEST=net_unittests Review URL: http://codereview.chromium.org/6529007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75036 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Coverity UNINIT_CTOR defect in the ChildrenDeleter constructor.wtc@chromium.org2011-02-111-1/+1
| | | | | | | | | | | R=rvargas CID=13450 BUG=none TEST=none Review URL: http://codereview.chromium.org/6495003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74565 0039d316-1c4b-4281-b951-d872f2087c98
* Disk Cache: Make sure that file descriptors are valid before calling close().rvargas@google.com2011-02-101-1/+1
| | | | | | | | | BUG=71399 TEST=none Review URL: http://codereview.chromium.org/6490007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74486 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Reset the number of fatal errors each timervargas@google.com2011-02-041-0/+5
| | | | | | | | | | | | we report it and make sure that we don't report it more than once a week. BUG=none TEST=none Review URL: http://codereview.chromium.org/6410044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73829 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 73402 - Disk cache: Disable the throttling experiment.rvargas@google.com2011-02-021-1/+12
| | | | | | | | | | | | | | | This is intended for the beta/stable channels. BUG=none TEST=none TBR=gavinp Review URL: http://codereview.chromium.org/6286036 TBR=rvargas@google.com Review URL: http://codereview.chromium.org/6250097 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73405 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Disable the throttling experiment.rvargas@google.com2011-02-021-12/+1
| | | | | | | | | | | | This is intended for the beta/stable channels. BUG=none TEST=none TBR=gavinp Review URL: http://codereview.chromium.org/6286036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73402 0039d316-1c4b-4281-b951-d872f2087c98
* More net/ method ordering.erg@google.com2011-01-265-308/+306
| | | | | | | | | BUG=68682 TEST=compiles Review URL: http://codereview.chromium.org/6339012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72710 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Prevent obscure file corruption and dealrvargas@google.com2011-01-258-33/+229
| | | | | | | | | | | | | | | | | | | | | | | | | | | with the result of that corruption. 1. Now we mark any open entry as dirty, even if we are supposed to delete the entry right away because if we crash before that, we may end up clearing the dirty flag of a dirty entry. 2. When we look for a parent of a given entry we now double check that the entry is the one that we want (and not just another entry with the same key). 3. If we have a loop on the hash collision list (result of failing to do 1 and 2 above), we figure that out. 4. Now every time we open an entry from an LRU list we end up using the same code path (with the proper handling of dirty entries). BUG=69135 TEST=net_unittests Review URL: http://codereview.chromium.org/6292011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72563 0039d316-1c4b-4281-b951-d872f2087c98
* More net/ header/implementation method reordering.erg@google.com2011-01-218-326/+354
| | | | | | | | | | | (Contains some minor de-inlining.) BUG=68682 TEST=compiles Review URL: http://codereview.chromium.org/6263010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72232 0039d316-1c4b-4281-b951-d872f2087c98
* Even more reordering the methods in headers and implementation in net/.erg@google.com2011-01-201-1/+1
| | | | | | | | | BUG=68682 TEST=compiles Review URL: http://codereview.chromium.org/6314010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71880 0039d316-1c4b-4281-b951-d872f2087c98