Minor, but you can avoid the extra Some object allocation with just:

```scala
  diskStore.getValues(blockId, serializer) orElse sys.error("Block " + blockId + " not found on disk, though it should be")
```