IOBuf::moveToFbString legacy 4GiB limit
authorNicholas Ormrod <njormrod@fb.com>
Wed, 26 Nov 2014 01:42:05 +0000 (17:42 -0800)
committerDave Watson <davejwatson@fb.com>
Thu, 11 Dec 2014 15:59:01 +0000 (07:59 -0800)
Summary:
IOBufs now support larger than 4GiB chunks. One of the checks
was not removed. Tracing through the capacity, its use if all 64-bit
compatible.

Test Plan: moveToFbString a 4GiB+ IOBuf element.

Reviewed By: maxim@fb.com

Subscribers: net-systems@, sdwilsh, njormrod, folly-diffs@

FB internal diff: D1705316

Tasks: 5648445

Signature: t1:1705316:1416965241:d9d064bbde53e033d32bfe872b3445ee59005f5e

folly/io/IOBuf.cpp

index e47c2faab30d0294da42c4d52a9a0b1c535f1a0d..90517aea7d6c0445c7369a754d8cc66ffd6f0167 100644 (file)
@@ -590,9 +590,6 @@ void IOBuf::coalesceAndReallocate(size_t newHeadroom,
                                   IOBuf* end,
                                   size_t newTailroom) {
   uint64_t newCapacity = newLength + newHeadroom + newTailroom;
-  if (newCapacity > UINT32_MAX) {
-    throw std::overflow_error("IOBuf chain too large to coalesce");
-  }
 
   // Allocate space for the coalesced buffer.
   // We always convert to an external buffer, even if we happened to be an