]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Merged from trunk r12948.
authorAlex Rousskov <rousskov@measurement-factory.com>
Thu, 15 Aug 2013 22:09:07 +0000 (16:09 -0600)
committerAlex Rousskov <rousskov@measurement-factory.com>
Thu, 15 Aug 2013 22:09:07 +0000 (16:09 -0600)
35 files changed:
1  2 
scripts/find-alive.pl
src/FwdState.cc
src/Makefile.am
src/SquidConfig.h
src/Store.h
src/StoreClient.h
src/acl/Asn.cc
src/cf.data.pre
src/client_side.cc
src/client_side_reply.cc
src/client_side_reply.h
src/client_side_request.cc
src/dns_internal.cc
src/errorpage.cc
src/fs/coss/store_coss.h
src/fs/coss/store_io_coss.cc
src/fs/ufs/RebuildState.cc
src/fs/ufs/UFSStoreState.cc
src/fs/ufs/UFSStoreState.h
src/ftp.cc
src/gopher.cc
src/http.cc
src/ipc/Queue.h
src/ipcache.cc
src/neighbors.cc
src/peer_digest.cc
src/peer_select.cc
src/ssl/ServerBump.cc
src/stat.cc
src/store.cc
src/store_client.cc
src/store_dir.cc
src/store_rebuild.cc
src/urn.cc
src/whois.cc

Simple merge
diff --cc src/FwdState.cc
Simple merge
diff --cc src/Makefile.am
index fae409a8d5e92623782776a5af76adc537a08e4d,7be4f7aae3183257ef426de61c010e21489dcc94..92f5fb3db378e4773bd0a51bf046cebcefd93463
@@@ -3266,9 -3289,10 +3298,11 @@@ tests_testRock_SOURCES = 
        HttpRequestMethod.cc \
        int.h \
        int.cc \
++      $(SBUF_SOURCE) \
        SquidList.h \
        SquidList.cc \
-       $(SBUF_SOURCE) \
+       MasterXaction.cc \
+       MasterXaction.h \
        Mem.h \
        mem.cc \
        MemBuf.cc \
Simple merge
diff --cc src/Store.h
Simple merge
Simple merge
diff --cc src/acl/Asn.cc
Simple merge
diff --cc src/cf.data.pre
index 14b60aa74036504c94d6fe3e2f61a2249f70d5dd,23cbc881c9a5374aec8c02efe454bf5a762eff93..67c17e5b390eea4f521c4e72a8d851a844a0df60
@@@ -3291,13 -3390,17 +3384,15 @@@ DOC_STAR
        higher hit ratio at the expense of an increase in response
        time.
  
-       The rock store type:
  
 -          cache_dir rock Directory-Name Mbytes <max-size=bytes> [options]
+       ====  The rock store type  ====
+       Usage:
 +          cache_dir rock Directory-Name Mbytes [options]
  
        The Rock Store type is a database-style storage. All cached
 -      entries are stored in a "database" file, using fixed-size slots,
 -      one entry per slot. The database size is specified in MB. The
 -      slot size is specified in bytes using the max-size option. See
 -      below for more info on the max-size option.
 +      entries are stored in a "database" file, using fixed-size slots.
 +      A single entry occupies one or more slots.
  
        If possible, Squid using Rock Store creates a dedicated kid
        process called "disker" to avoid blocking Squid worker(s) on disk
        and when set to zero, disables the disk I/O rate limit
        enforcement. Currently supported by IpcIo module only.
  
 +      slot-size=bytes: The size of a database "record" used for
 +      storing cached responses. A cached response occupies at least
 +      one slot and all database I/O is done using individual slots so
 +      increasing this parameter leads to more disk space waste while
 +      decreasing it leads to more disk I/O overheads. Should be a
 +      multiple of your operating system I/O page size. Defaults to
 +      16KBytes. A housekeeping header is stored with each slot and
 +      smaller slot-sizes will be rejected. The header is smaller than
 +      100 bytes.
 +
  
-       The coss store type:
+       ====  The coss store type  ====
  
        NP: COSS filesystem in Squid-3 has been deemed too unstable for
            production use and has thus been removed from this release.
Simple merge
Simple merge
Simple merge
Simple merge
index 39a13d182717e747811efa19ac0fbd0db4b9df6e,6a4e5b0b9959cdc70ae570952339ee9fae8215ae..d6c9fd694068ea79c50b73685c2a33e93ebb2188
@@@ -37,6 -37,6 +37,7 @@@
  #include "comm.h"
  #include "comm/Loops.h"
  #include "comm/Write.h"
++#include "dlink.h"
  #include "event.h"
  #include "fd.h"
  #include "fde.h"
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc src/ftp.cc
Simple merge
diff --cc src/gopher.cc
Simple merge
diff --cc src/http.cc
Simple merge
diff --cc src/ipc/Queue.h
Simple merge
diff --cc src/ipcache.cc
index fa1b53aaa43f5f88577d91ed0d0c1e95a6dbf57e,d12c45262ae075cc61b5d636c91804b3cd9802c5..0bed6b28214fbdcc313181f236de4b58b7434e32
@@@ -33,6 -33,6 +33,7 @@@
  #include "squid.h"
  #include "cbdata.h"
  #include "CacheManager.h"
++#include "dlink.h"
  #include "DnsLookupDetails.h"
  #include "event.h"
  #include "ip/Address.h"
Simple merge
Simple merge
index 258960edab04dda886d3c1d3c7f5af36c7ee0245,7746de51e3199ca697d55e15752d3eb6ffe3610f..324c99ec4fbd584789046f945a7fae643fe95925
@@@ -89,34 -88,31 +88,31 @@@ static void peerSelectDnsResults(const 
  
  CBDATA_CLASS_INIT(ps_state);
  
- static void
- peerSelectStateFree(ps_state * psstate)
+ ps_state::~ps_state()
  {
-     if (psstate->entry) {
-         debugs(44, 3, HERE << psstate->entry->url());
+     if (entry) {
+         debugs(44, 3, entry->url());
  
-         if (psstate->entry->ping_status == PING_WAITING)
-             eventDelete(peerPingTimeout, psstate);
+         if (entry->ping_status == PING_WAITING)
+             eventDelete(peerPingTimeout, this);
  
-         psstate->entry->ping_status = PING_DONE;
+         entry->ping_status = PING_DONE;
      }
  
-     if (psstate->acl_checklist) {
-         debugs(44, DBG_IMPORTANT, "calling aclChecklistFree() from peerSelectStateFree");
-         delete (psstate->acl_checklist);
+     if (acl_checklist) {
+         debugs(44, DBG_IMPORTANT, "calling aclChecklistFree() from ps_state destructor");
+         delete acl_checklist;
      }
  
-     HTTPMSGUNLOCK(psstate->request);
+     HTTPMSGUNLOCK(request);
  
-     if (psstate->entry) {
-         assert(psstate->entry->ping_status != PING_WAITING);
-         psstate->entry->unlock("peerSelect");
-         psstate->entry = NULL;
+     if (entry) {
+         assert(entry->ping_status != PING_WAITING);
 -        entry->unlock();
++        entry->unlock("peerSelect");
+         entry = NULL;
      }
  
-     delete psstate->lastError;
-     cbdataFree(psstate);
+     delete lastError;
  }
  
  static int
Simple merge
diff --cc src/stat.cc
Simple merge
diff --cc src/store.cc
Simple merge
Simple merge
Simple merge
index 6f9a034bdc68e2c028122fed003aecf3e172e189,c9cec3747fdef276d97d82b626658c1c8cd54e0d..54097d779e45a92ad097d6afdc025cfc728f1cb8
@@@ -344,7 -340,7 +344,7 @@@ storeRebuildParseEntry(MemBuf &buf, Sto
  
      // TODO: consume parsed metadata?
  
--    debugs(47,7, HERE << "successful swap meta unpacking");
++    debugs(47,7, HERE << "successful swap meta unpacking; swap_file_sz=" << tmpe.swap_file_sz);
      memset(key, '\0', SQUID_MD5_DIGEST_LENGTH);
  
      InitStoreEntry visitor(&tmpe, key);
diff --cc src/urn.cc
index a4465454739c02b38af9435de2beb92ecdc25ae2,59e61d4a528fa3f992f4111b1cc74abaa85a0f6c..d888770b51366605ecb1ac0dd31f89d41516d2f2
@@@ -240,9 -224,8 +224,8 @@@ UrnState::start(HttpRequest * r, StoreE
      debugs(52, 3, "urnStart: '" << e->url() << "'" );
      entry = e;
      request = r;
-     HTTPMSGLOCK(request);
  
 -    entry->lock();
 +    entry->lock("UrnState::start");
      setUriResFromRequest(r);
  
      if (urlres_r == NULL)
@@@ -259,10 -242,9 +242,9 @@@ UrnState::created(StoreEntry *newEntry
      if (urlres_e->isNull()) {
          urlres_e = storeCreateEntry(urlres, urlres, RequestFlags(), Http::METHOD_GET);
          sc = storeClientListAdd(urlres_e, this);
-         FwdState::fwdStart(Comm::ConnectionPointer(), urlres_e, urlres_r);
+         FwdState::fwdStart(Comm::ConnectionPointer(), urlres_e, urlres_r.getRaw());
      } else {
 -        urlres_e->lock();
 +        urlres_e->lock("UrnState::created");
          sc = storeClientListAdd(urlres_e, this);
      }
  
@@@ -303,10 -285,8 +285,8 @@@ url_entry_sort(const void *A, const voi
  static void
  urnHandleReplyError(UrnState *urnState, StoreEntry *urlres_e)
  {
 -    urlres_e->unlock();
 -    urnState->entry->unlock();
 +    urlres_e->unlock("urnHandleReplyError+res");
 +    urnState->entry->unlock("urnHandleReplyError+prime");
-     HTTPMSGUNLOCK(urnState->request);
-     HTTPMSGUNLOCK(urnState->urlres_r);
      delete urnState;
  }
  
diff --cc src/whois.cc
Simple merge