}
std::unique_ptr<FilterBlockReader> BlockBasedFilterBlockReader::Create(
- const BlockBasedTable* table, FilePrefetchBuffer* prefetch_buffer,
- bool use_cache, bool prefetch, bool pin,
- BlockCacheLookupContext* lookup_context) {
+ const BlockBasedTable* table, const ReadOptions& ro,
+ FilePrefetchBuffer* prefetch_buffer, bool use_cache, bool prefetch,
+ bool pin, BlockCacheLookupContext* lookup_context) {
assert(table);
assert(table->get_rep());
assert(!pin || prefetch);
CachableEntry<BlockContents> filter_block;
if (prefetch || !use_cache) {
- const Status s = ReadFilterBlock(table, prefetch_buffer, ReadOptions(),
- use_cache, nullptr /* get_context */,
- lookup_context, &filter_block);
+ const Status s = ReadFilterBlock(table, prefetch_buffer, ro, use_cache,
+ nullptr /* get_context */, lookup_context,
+ &filter_block);
if (!s.ok()) {
+ IGNORE_STATUS_IF_ERROR(s);
return std::unique_ptr<FilterBlockReader>();
}