Andrew Kryczka
4bf169f07e
Disable readahead when using mmap for reads
...
Summary:
`ReadaheadRandomAccessFile` had an unwritten assumption, which was that its wrapped file's `Read()` function always copies into the provided scratch buffer. Actually this was not true when the wrapped file was `PosixMmapReadableFile`, whose `Read()` implementation does no copying and instead returns a `Slice` pointing directly into the `mmap`'d memory region. This PR:
- prevents `ReadaheadRandomAccessFile` from ever wrapping mmap readable files
- adds an assert for the assumption `ReadaheadRandomAccessFile` makes about the wrapped file's use of scratch buffer
Closes https://github.com/facebook/rocksdb/pull/3813
Differential Revision: D7891513
Pulled By: ajkr
fbshipit-source-id: dc64a55222d6af280c39a1852ee39e9e9d7cde7d
2018-05-08 12:13:18 -07:00
..
2018-03-26 20:26:10 -07:00
2017-07-15 16:11:23 -07:00
2017-10-17 11:13:19 -07:00
2018-04-12 17:59:16 -07:00
2017-10-17 11:13:19 -07:00
2018-04-15 17:26:26 -07:00
2017-07-15 16:11:23 -07:00
2018-02-23 13:57:26 -08:00
2018-04-15 17:26:26 -07:00
2017-07-15 16:11:23 -07:00
2017-12-01 10:42:05 -08:00
2018-04-12 17:59:16 -07:00
2016-10-25 11:31:39 -07:00
2017-07-15 16:11:23 -07:00
2017-07-31 12:12:03 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-10-19 10:57:12 -07:00
2017-07-15 16:11:23 -07:00
2018-04-12 17:59:16 -07:00
2017-10-17 09:58:13 -07:00
2018-04-12 17:59:16 -07:00
2017-07-15 16:11:23 -07:00
2017-11-03 14:42:08 -07:00
2017-07-15 16:11:23 -07:00
2017-08-31 14:16:30 -07:00
2017-09-08 11:11:04 -07:00
2017-08-31 14:16:30 -07:00
2017-08-31 14:16:30 -07:00
2017-12-19 18:26:49 -08:00
2018-02-13 12:18:07 -08:00
2017-08-31 14:16:30 -07:00
2018-04-26 13:58:20 -07:00
2018-04-26 13:58:20 -07:00
2018-04-26 13:58:20 -07:00
2018-04-18 16:32:35 -07:00
2017-12-01 10:42:05 -08:00
2018-03-07 12:42:12 -08:00
2017-10-19 10:57:12 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-03-14 00:57:24 -07:00
2018-03-05 13:13:41 -08:00
2018-05-08 12:13:18 -07:00
2018-03-26 20:26:10 -07:00
2018-04-26 13:58:20 -07:00
2018-04-26 13:58:20 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-12-01 10:42:05 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-12-01 10:42:05 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-12-01 10:42:05 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-02-13 12:18:07 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-08-31 14:16:30 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-04-12 17:59:16 -07:00
2017-10-04 19:15:01 -07:00
2017-10-04 19:15:01 -07:00
2018-03-05 23:57:12 -08:00
2017-07-15 16:11:23 -07:00
2018-03-05 13:13:41 -08:00
2018-04-26 13:58:20 -07:00
2018-04-26 13:58:20 -07:00
2017-07-15 16:11:23 -07:00
2018-04-10 14:13:18 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-02-15 16:57:37 -08:00
2017-07-15 16:11:23 -07:00
2018-03-23 12:56:52 -07:00
2018-03-23 12:56:52 -07:00
2018-03-23 12:56:52 -07:00
2018-03-23 12:56:52 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-04-12 17:59:16 -07:00
2018-03-05 13:13:41 -08:00
2018-03-07 12:42:12 -08:00
2018-03-05 13:13:41 -08:00
2017-11-03 14:42:08 -07:00
2018-02-16 08:13:34 -08:00
2017-07-15 16:11:23 -07:00
2018-04-24 08:41:51 -07:00
2018-04-24 08:41:51 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-05-02 18:13:05 -07:00
2017-12-06 09:42:28 -08:00
2017-06-05 11:27:34 -07:00
2015-03-12 12:07:10 -07:00