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-04-05 19:58:20 -07:00
2017-11-10 09:26:24 -08:00
2018-04-12 17:59:16 -07:00
2018-04-27 16:56:59 -07:00
2018-04-15 17:26:26 -07:00
2018-05-03 15:43:09 -07:00
2018-04-27 11:57:39 -07:00
2018-04-15 17:26:26 -07:00
2017-10-27 11:26:42 -07:00
2018-03-05 13:13:41 -08:00
2017-08-19 14:10:08 -07:00
2018-03-05 13:13:41 -08:00
2018-03-06 11:57:42 -08:00
2018-03-05 13:13:41 -08:00
2018-04-15 17:26:26 -07:00
2018-04-27 11:57:39 -07:00
2018-05-03 16:42:13 -07:00
2018-05-03 16:42:13 -07:00
2018-04-05 19:58:20 -07:00
2018-05-03 16:42:13 -07:00
2017-12-11 13:27:06 -08:00
2018-05-03 16:42:13 -07:00
2018-04-27 11:57:39 -07:00
2018-05-03 16:42:13 -07:00
2018-05-03 16:42:13 -07:00
2018-03-05 13:13:41 -08:00
2018-01-30 13:56:39 -08:00
2018-04-15 17:26:26 -07:00
2018-04-15 17:26:26 -07:00
2018-03-06 16:27:54 -08:00
2017-10-17 08:57:09 -07:00
2018-05-01 16:01:28 -07:00
2018-04-12 17:59:16 -07:00
2018-03-16 13:27:55 -07:00
2018-04-15 17:26:26 -07:00
2018-04-15 17:26:26 -07:00
2017-07-15 16:11:23 -07:00
2018-03-21 22:13:34 -07:00
2018-05-03 15:43:09 -07:00
2018-05-03 15:43:09 -07:00
2018-05-03 15:43:09 -07:00
2017-10-05 18:11:43 -07:00
2018-05-03 15:43:09 -07:00
2018-05-03 15:43:09 -07:00
2018-04-12 17:59:16 -07:00
2018-03-15 11:58:12 -07:00
2018-05-03 15:43:09 -07:00
2018-05-03 16:13:09 -07:00
2018-05-03 15:43:09 -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-26 21:11:47 -07:00
2018-04-12 17:59:16 -07:00
2018-02-20 19:12:09 -08:00
2017-12-18 22:29:30 -08:00
2018-03-05 13:13:41 -08:00
2018-04-15 17:26:26 -07:00
2018-03-05 13:13:41 -08:00
2018-03-02 16:27:21 -08:00
2018-04-12 17:59:16 -07:00
2018-04-18 21:42:25 -07:00
2018-04-27 11:57:39 -07:00
2018-04-12 17:59:16 -07:00
2017-07-15 16:11:23 -07:00
2017-09-28 18:17:30 -07:00
2018-04-15 17:26:26 -07:00
2018-04-12 17:59:16 -07:00
2018-04-05 19:58:20 -07:00
2018-05-03 15:43:09 -07:00
2018-04-12 17:59:16 -07:00
2018-04-15 17:26:26 -07:00
2018-05-03 15:43:09 -07:00
2018-03-22 15:58:39 -07:00
2017-07-15 16:11:23 -07:00
2018-04-13 11:27:17 -07:00
2018-03-23 13:26:55 -07:00
2018-04-15 17:26:26 -07:00
2018-04-12 17:59:16 -07:00
2017-07-15 16:11:23 -07:00
2018-04-12 17:59:16 -07:00
2017-11-28 11:27:02 -08:00
2018-04-13 10:58:42 -07:00
2018-04-16 14:28:01 -07:00
2018-05-03 15:43:09 -07:00
2018-05-07 12:29:58 -07:00
2018-03-05 13:13:41 -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
2018-05-03 15:43:09 -07:00
2018-05-03 15:43:09 -07:00
2018-05-03 15:43:09 -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
2018-03-05 13:13:41 -08:00
2018-03-05 13:13:41 -08:00
2018-05-04 15:28:06 -07:00
2018-05-03 15:43:09 -07:00
2018-04-12 17:59:16 -07:00
2018-04-10 15:59:24 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-01-29 12:56:42 -08:00
2018-03-07 12:42:12 -08:00
2018-04-19 14:13:46 -07:00
2018-03-08 10:27:25 -08:00
2018-05-03 15:43:09 -07:00
2018-05-03 15:43:09 -07:00
2018-03-06 16:27:54 -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
2018-05-03 16:13:09 -07:00
2018-05-03 15:43:09 -07:00
2018-05-03 15:43:09 -07:00
2018-05-03 15:43:09 -07:00
2018-04-07 21:56:42 -07:00
2018-03-23 12:14:30 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-02-09 14:57:54 -08:00
2018-02-09 14:57:54 -08:00
2017-07-15 16:11:23 -07:00
2018-03-05 13:13:41 -08:00
2018-04-15 17:26:26 -07:00
2018-04-15 17:26:26 -07:00
2018-04-23 17:58:54 -07:00
2017-07-15 16:11:23 -07:00
2018-04-15 17:26:26 -07:00
2018-04-05 11:12:16 -07:00
2018-04-15 17:26:26 -07:00
2017-11-28 11:27:02 -08:00
2018-05-04 16:45:15 -07:00
2018-05-04 16:45:15 -07:00
2017-09-11 09:14:48 -07:00
2018-04-15 17:26:26 -07:00
2018-04-05 19:58:20 -07:00
2018-03-05 13:13:41 -08:00
2017-07-15 16:11:23 -07:00
2018-04-02 20:27:41 -07:00
2018-05-08 12:13:18 -07:00
2017-07-15 16:11:23 -07:00
2018-03-05 13:13:41 -08:00
2018-03-05 13:13:41 -08:00
2018-03-05 13:13:41 -08:00
2018-03-05 13:13:41 -08:00
2017-11-10 17:28:12 -08:00
2017-07-15 16:11:23 -07:00
2018-03-08 10:27:25 -08:00
2017-08-24 16:10:54 -07:00
2018-05-03 15:43:09 -07:00
2018-05-03 15:43:09 -07:00
2018-05-03 15:43:09 -07:00
2018-03-05 13:13:41 -08:00
2018-05-04 15:28:06 -07:00
2018-05-03 15:43:09 -07:00
2018-04-15 17:26:26 -07:00
2018-01-11 18:57:33 -08:00
2018-01-11 18:57:33 -08:00
2017-07-15 16:11:23 -07:00
2018-03-08 10:27:25 -08:00
2018-03-05 13:13:41 -08:00
2018-04-20 15:28:19 -07:00
2018-04-15 17:26:26 -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-04-23 17:58:54 -07:00
2018-02-05 18:43:24 -08:00