summaryrefslogtreecommitdiffstats
path: root/net/disk_cache
Commit message (Collapse)AuthorAgeFilesLines
* Fix integer overflow in calculation of sparse I/O extent.cevans@chromium.org2009-11-101-1/+1
| | | | | | | | | BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/372076 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31532 0039d316-1c4b-4281-b951-d872f2087c98
* Second patch in making destructors of refcounted objects private.jam@chromium.org2009-11-053-4/+7
| | | | | | | | BUG=26749 Review URL: http://codereview.chromium.org/368001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31165 0039d316-1c4b-4281-b951-d872f2087c98
* Disk Cache: New interface that enables asynchronous completionrvargas@google.com2009-11-059-6/+239
| | | | | | | | | | | of any operation that may block. BUG=26730 TEST=none Review URL: http://codereview.chromium.org/355028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31160 0039d316-1c4b-4281-b951-d872f2087c98
* Don't hang during DiskCacheEntryTest.CancelSparseIO on infinitely fast disks.dkegel@google.com2009-10-281-1/+9
| | | | | | Review URL: http://codereview.chromium.org/341006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30291 0039d316-1c4b-4281-b951-d872f2087c98
* Remove deprecated CommandLine(std::wstring) ctor.evan@chromium.org2009-10-261-1/+1
| | | | | | | | | | | Add a ctor for creating a CommandLine for carrying arguments; convert all the users to either that or the FilePath version. BUG=24672 Review URL: http://codereview.chromium.org/329017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30117 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Fix a race accessing a file's reference counterrvargas@google.com2009-10-211-3/+10
| | | | | | | | | | | from a worker thread. BUG=24307 TEST=current unit tests / valgrind Review URL: http://codereview.chromium.org/309001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29720 0039d316-1c4b-4281-b951-d872f2087c98
* Mark some disabled tests as flaky to increase test coverage.phajdan.jr@chromium.org2009-10-161-3/+3
| | | | | | | | | | | | When a test doesn't hang or crash, it can run on the bots and on developers' machines. BUG=none TEST=none Review URL: http://codereview.chromium.org/269104 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29279 0039d316-1c4b-4281-b951-d872f2087c98
* Final patch to convert disk cache to using FilePath instead oftony@chromium.org2009-10-1510-85/+59
| | | | | | | | | | | wstring. After this patch, I'm able to start chrome in a user data dir with non-ascii characters on non-utf8 systems. BUG=24444 Review URL: http://codereview.chromium.org/267085 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29136 0039d316-1c4b-4281-b951-d872f2087c98
* A couple new io buffers that encapsulate more data and are therefore easier ↵vandebo@chromium.org2009-10-143-33/+21
| | | | | | | | | | | to use and easier to reason about. Inspired by RequestHeaders and ResponseHeaders in http_network_transaction.h Separated out of the refactoring of HttpNetworkTransaction to support pipelining. (http://codereview.chromium.org/249031) BUG=13289 TEST=none Review URL: http://codereview.chromium.org/264025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28978 0039d316-1c4b-4281-b951-d872f2087c98
* Convert SysInfo::AmountOfFreeDiskSpace from wstring to FilePath.tony@chromium.org2009-10-141-1/+1
| | | | | | | | BUG=24672 Review URL: http://codereview.chromium.org/276012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28927 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Re-enable DiskCacheEntryTest.CancelSparseIOrvargas@google.com2009-10-141-2/+2
| | | | | | | | | | | | | | | | I still don't know why it failed, but the only difference that I could see in this test between xp and vista is that xp accepts a lot of small IOs before returning pending, so this change results in similar behavior in both platforms and a faster run on xp. BUG=23862 TEST=none Review URL: http://codereview.chromium.org/273024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28921 0039d316-1c4b-4281-b951-d872f2087c98
* Move disk_cache::MappedFile to use FilePath instead of wstring.tony@chromium.org2009-10-1312-33/+32
| | | | | | | | | | | Also add some FilePath methods in disk_cache_util.h and obsolete the old. BUG=24444 Review URL: http://codereview.chromium.org/266069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28910 0039d316-1c4b-4281-b951-d872f2087c98
* Convert BlockFiles to use FilePath instead of wstring.tony@chromium.org2009-10-1310-48/+43
| | | | | | | | BUG=24444 Review URL: http://codereview.chromium.org/274012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28873 0039d316-1c4b-4281-b951-d872f2087c98
* Step 2 in porting disk cache to using FilePath.tony@chromium.org2009-10-127-9/+16
| | | | | | | | BUG=24444 Review URL: http://codereview.chromium.org/270066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28742 0039d316-1c4b-4281-b951-d872f2087c98
* Start migrating the disk cache to using FilePath.tony@chromium.org2009-10-1211-71/+99
| | | | | | | | | | This converts BackendImpl to using FilePath. BUG=24444 Review URL: http://codereview.chromium.org/261045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28711 0039d316-1c4b-4281-b951-d872f2087c98
* Move more ICU-dependent stuff from base into base/i18n. Some test stuff alsobrettw@chromium.org2009-10-091-1/+1
| | | | | | | | | | | | depended on this, so to make the DEPS work out, I made a new base/test directory where I moved the testing-related files into a new directory base/test. TEST=none BUG=none Review URL: http://codereview.chromium.org/266038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28569 0039d316-1c4b-4281-b951-d872f2087c98
* Disable CancelSparseIO unit test while I see what's going on.rvargas@google.com2009-10-081-1/+1
| | | | | | | | | | BUG=none TEST=none TBR=nsylvain Review URL: http://codereview.chromium.org/265051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28481 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Add a method to cancel pending sparse operations.rvargas@google.com2009-10-088-1/+155
| | | | | | | | | | | | | | | | | | | The sparse IO methods require exclusive use of the cache entry and they complain when that requirement is violated. When the user cancels a request and reissues another one to the same entry, we may be waiting for the previous operation to finish when we receive a new IO request, so we fail. This CL add a way for the HTTP cache to cancel IO operations and get a notification when the disk cache is able to operate on that entry again. BUG=23862 TEST=unittests Review URL: http://codereview.chromium.org/256090 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28475 0039d316-1c4b-4281-b951-d872f2087c98
* Handle reading to the end of a sparse entryhclam@chromium.org2009-10-011-1/+1
| | | | | | | | | | | | TEST=run chrome with --enable-byte-range-support --incognito and watch a video in http://tinyvid.tv/, seeking should be fine. http_cache::PartialData used to read a length of zero when reading has reached the end. The zero parameter will cause MemEntryImpl to complain about invalid argument, so early return for the case that we know we have nothing to read. Review URL: http://codereview.chromium.org/255034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27776 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: End the experiment and use the new evictionrvargas@google.com2009-09-295-96/+78
| | | | | | | | | | | | algorithm by default. BUG=none TEST=none Review URL: http://codereview.chromium.org/248022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27514 0039d316-1c4b-4281-b951-d872f2087c98
* Disable flaky DiskCacheBackendTest.NewEvictionDisableSuccess4.phajdan.jr@chromium.org2009-09-161-1/+3
| | | | | | | | | | This is #9 flaky test and rising (#5 in tests failing recently). TBR=rvargas Review URL: http://codereview.chromium.org/193127 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26345 0039d316-1c4b-4281-b951-d872f2087c98
* Avoids the use of "namespace using-directives" in a few places.thakis@chromium.org2009-09-071-2/+1
| | | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/183008 Patch from tfarina. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25607 0039d316-1c4b-4281-b951-d872f2087c98
* Fixing bugs in sparse cache when dealing with GetAvailableRange queries not ↵hclam@chromium.org2009-09-022-5/+24
| | | | | | | | | | | | | | | | | aligned TEST=net_unittests --gtest_filter=DiskCacheEntryTest.PartialSparseEntry In handling GetAvailableRange() queries, if the start offset is not aligned to 1KB, there was some strange behaviors: 1. The start offset found is smaller than the input offset 2. Number of continus bytes doesn't take into account offset in a block. This patch will fix the above problems. Review URL: http://codereview.chromium.org/186002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25225 0039d316-1c4b-4281-b951-d872f2087c98
* Fixing a crash in disk_cache::SparseControl::UpdateRange()hclam@chromium.org2009-09-023-1/+15
| | | | | | | | | | | | | | | TEST=net_unittests --gtest_filter=DiskCacheEntryTest::PArtialSparseEntry If we do a partial write with the following criteria, disk_cache::SparseControl will crash: 1. first_byte and last_byte in the same 1KB block 2. first_byte % 1024 != 0 3. (first_byte >> 10) % 32 == 31 Review URL: http://codereview.chromium.org/176067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25134 0039d316-1c4b-4281-b951-d872f2087c98
* Disk Cache: Function re-ordering. No code change.rvargas@google.com2009-08-313-94/+101
| | | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/182023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24900 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Add a histogram to measure the latency ofrvargas@google.com2009-08-282-13/+20
| | | | | | | | | | | asynchronous IO. BUG=none TEST=none Review URL: http://codereview.chromium.org/178023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24829 0039d316-1c4b-4281-b951-d872f2087c98
* Fix DiskCacheEntryTest.MemoryOnlyDoomSparseEntryhclam@chromium.org2009-08-272-2/+2
| | | | | | | | | | | | | | BUG=12258 TEST=DiskCacheEntryTest.MemoryOnlyDoomSparseEntry The sequence that caused this test to break was to doom to the entry while it is still opened. Since closing the parent entry only delete itself and then child entries are not cleaned up. This is corrected by using InternalDoom() for destruction. Review URL: http://codereview.chromium.org/174592 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24594 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Reduce the chance of failing a unit test under Posix.rvargas@google.com2009-08-251-4/+15
| | | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/174374 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24246 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Implement asynchronous IO for Posix.rvargas@google.com2009-08-219-47/+326
| | | | | | | | | | BUG=16507 TEST=Unittests Review URL: http://codereview.chromium.org/173170 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23990 0039d316-1c4b-4281-b951-d872f2087c98
* Revert cl 23919 to investigate valgrind failures.rvargas@google.com2009-08-219-312/+45
| | | | | | | | | | | TBR=willchan TEST=none BUG=none Review URL: http://codereview.chromium.org/174205 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23926 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Close the experiment for new users.rvargas@google.com2009-08-211-20/+15
| | | | | | | | | | | | Also, make sure that only the main cache runs an experiment. BUG=none TEST=none Review URL: http://codereview.chromium.org/173132 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23923 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Implement asynchronous IO for Posix.rvargas@google.com2009-08-219-45/+312
| | | | | | | | | | BUG=16507 TEST=Unittests Review URL: http://codereview.chromium.org/171085 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23919 0039d316-1c4b-4281-b951-d872f2087c98
* Disk Cache: Lower the definition of a loaded system fromrvargas@google.com2009-08-113-15/+19
| | | | | | | | | | | | | | | 10 pending operations to 5. Data from the Beta channel shows that for all group sizes except one, the 99.90% cutoff of number of pending operations falls below 5 (in fact, below 3). BUG=none TEST=none Review URL: http://codereview.chromium.org/164355 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23120 0039d316-1c4b-4281-b951-d872f2087c98
* Disk Cache: cleanup of OpenBlockFile.rvargas@google.com2009-08-113-7/+31
| | | | | | | | | | | | Don't add the file to the list of open files until it passes all sanity checks. BUG=18174 TEST=unittest Review URL: http://codereview.chromium.org/164336 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23090 0039d316-1c4b-4281-b951-d872f2087c98
* Try again: Check blockfile size before attempting to read the header.mattm@chromium.org2009-08-083-18/+53
| | | | | | | | | | | Reading past the last page of a mmapped file will SIGBUS. BUG=18174 TEST=truncate Default/Cache/data_* to zero bytes, launch chrome, try to load a website. It shouldn't crash. Review URL: http://codereview.chromium.org/165174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22843 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Check blockfile size before attempting to read the header."mattm@chromium.org2009-08-072-26/+0
| | | | | | | | | | | | The unittest isn't liked by windows. This reverts commit c0be0e8cda2bfe9c1eccb662ccdad9a2b7768132. TBR=rvargas Review URL: http://codereview.chromium.org/165157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22786 0039d316-1c4b-4281-b951-d872f2087c98
* Check blockfile size before attempting to read the header.mattm@chromium.org2009-08-072-0/+26
| | | | | | | | | | | Reading past the last page of a mmapped file will SIGBUS. BUG=18174 TEST=truncate Default/Cache/data_* to zero bytes, launch chrome, try to load a website. It shouldn't crash. Review URL: http://codereview.chromium.org/164132 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22781 0039d316-1c4b-4281-b951-d872f2087c98
* Relanding Coverity fixes from http://codereview.chromium.org/159862 ↵phajdan.jr@chromium.org2009-08-061-1/+1
| | | | | | | | | | | | | excluding the broken ones. The change of GURL -> const GURL& caused some nasty crash and the change got reverted. TEST=none BUG=none Review URL: http://codereview.chromium.org/164095 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22682 0039d316-1c4b-4281-b951-d872f2087c98
* Disk Cache: Don't depend on the backend being enabled torvargas@google.com2009-08-064-21/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | be able to return the key of an open entry. Whenever a critical corruption is detected by the disk cache, the backend disables itself and starts failing all requests until it's able to re-create the backing store. Key's longer than 928 bytes are not stored inside the entry itself, so a file object is required to access them. The backend will reject any request for a file object after it is disabled, so a user's request for the key of an open entry will also fail. Now we keep a pointer to the related file object (if needed) so that we don't have to ask the backend for it when the user requests the current key. BUG=9952 TEST=unittest Review URL: http://codereview.chromium.org/165030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22637 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of r22559.aa@chromium.org2009-08-061-1/+1
| | | | | | | | | | | | | | | | | | This caused an easily reproducible crash: 1. Start with a fresh profile 2. Navigate to google.com 3. Restart 4. Navigate to google.com 5. crash The change from pass-by-value to pass-by-ref in fav_icon_helper.* seems to be to blame, but I can't see it right off. TBR=phajdan.jr@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22595 0039d316-1c4b-4281-b951-d872f2087c98
* Bunch of Coverity fixes, rather minor severity.phajdan.jr@chromium.org2009-08-061-1/+1
| | | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/159862 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22559 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Open the disk cache experiment for new users.rvargas@google.com2009-08-013-9/+25
| | | | | | | | | | | | Also, fix the code that makes the unit tests have consistent results. BUG=none TEST=none Review URL: http://codereview.chromium.org/160485 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22238 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Remove remaining uses of RankingsNode.pointer.rvargas@google.com2009-07-3010-46/+117
| | | | | | | | | | | | | We now have a map of open entries so we don't need to do a lookup through the rankings node anymore. This simplifies the 64 bit version of the code. BUG=17881 TEST=unittests Review URL: http://codereview.chromium.org/159643 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22074 0039d316-1c4b-4281-b951-d872f2087c98
* Assorted fixes for 64-bit.deanm@chromium.org2009-07-281-2/+2
| | | | | | | Review URL: http://codereview.chromium.org/160288 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21891 0039d316-1c4b-4281-b951-d872f2087c98
* Disk Cache: Delete chained block files when they become empty.rvargas@google.com2009-07-284-22/+121
| | | | | | | | | | | | | | | We were leaving empty block files in the chain, and worst of all, not reusing them because we were thinking that these files were "almost full". Now we also check for empty files when the cache starts. BUG=16740 TEST=unittest. Review URL: http://codereview.chromium.org/159451 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21762 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Avoid restarting the cache while it may be in use.rvargas@google.com2009-07-243-5/+19
| | | | | | | | | | | | | | Now the code that releases resources runs from the message loop so that methods can cause the cache to disable itself while still being able to touch internal state. BUG=17604 TEST=unittests. Review URL: http://codereview.chromium.org/159327 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21550 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Fix handling of invalid entries that are detectedrvargas@google.com2009-07-238-80/+196
| | | | | | | | | | | | | | | | | | | | when doing evictions or enumerations. This cl fixes an issue with dirty entries being deleted twice from disk, and improves the whole thing so that different flavors or corrupt entries are removed gracefully. We started deleting things twice when we created the map of currently-open entries, because we don't want to have dirty entries on that map, so it is possible to have multiple EntryImpl objects that refer to the same entry (for corrupt entries). BUG=17474 TEST=Unittests, stress_cache.exe Review URL: http://codereview.chromium.org/155951 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21360 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Add support for having a sparse entry block thatrvargas@google.com2009-07-176-49/+277
| | | | | | | | | | | | | | | | | | is not totally filled. This is required to allow two consecutive writes to fill a given range without caring about the actual start offset of the second one (as long as it is right where the first one ended). This CL also takes care of all pending TODOs of the sparse disk cache. Sparse disk cache support is now feature complete. BUG=12258 TEST=unittests Review URL: http://codereview.chromium.org/155590 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20988 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Generate total-load-time histograms from thervargas@google.com2009-07-111-0/+26
| | | | | | | | | | | disk cache experiment. BUG=none TEST=none Review URL: http://codereview.chromium.org/155380 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20452 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Don't evict entries if we are busy doing other stuff.rvargas@google.com2009-07-094-20/+58
| | | | | | | | | BUG=10727 TEST=none Review URL: http://codereview.chromium.org/155314 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20330 0039d316-1c4b-4281-b951-d872f2087c98