readahead: ignore large and unproductive readahead requests
Sometimes there are absurdly large readahead requests (e.g. 32G),
which tie up a thread holding the readahead lock for a long time (not
to mention the IO the reading hammers the rest of the system with).
These are likely an artifact of the legacy ExtentWalker code interacting
with concurrent filesystem changes.
The maximum btrfs extent size is 128M, so cap the length of readahead
requests at that size.