Andrew Kryczka 7c1c8ce5ac Avoid calling fallocate with UINT64_MAX
Summary:
When user doesn't set a limit on compaction output file size, let's use the sum of the input files' sizes. This will avoid passing UINT64_MAX as fallocate()'s length. Reported in #2249.

Test setup:
- command: `TEST_TMPDIR=/data/rocksdb-test/ strace -e fallocate ./db_compaction_test --gtest_filter=DBCompactionTest.ManualCompactionUnknownOutputSize`
- filesystem: xfs

before this diff:
`fallocate(10, 01, 0, 1844674407370955160) = -1 ENOSPC (No space left on device)`

after this diff:
`fallocate(10, 01, 0, 1977)              = 0`
Closes https://github.com/facebook/rocksdb/pull/2252

Differential Revision: D5007275

Pulled By: ajkr

fbshipit-source-id: 4491404a6ae8a41328aede2e2d6f4d9ac3e38880
2017-05-04 17:43:22 -07:00
..
2017-04-27 18:06:12 -07:00
2017-05-03 10:57:45 -07:00
2017-05-03 10:57:45 -07:00
2017-05-03 21:13:14 -07:00
2017-04-27 18:06:12 -07:00
2017-04-27 18:06:12 -07:00
2017-05-03 21:13:14 -07:00
2017-04-18 16:56:48 -07:00
2017-03-28 12:09:12 -07:00
2017-04-27 18:06:12 -07:00