New replay_alloc option added to ceph_test_alloc_replay binary
that permits the loading of a dump produced by
"ceph daemon osd.<id> bluestore allocator dump block" and replaying
a list of allocation requests against the loaded allocator state an
arbitrary number of times (default, 100).
Once the allocator dump is loaded, the fragmentation state and
free space information are printed. Then the list of allocation
requests is replayed against that state.
Output consists of the time in ns that the allocator took to return
the requested allocation, along with the request.
If an allocation request fails or the list of allocation requests is
completed, the error info, if any, and the fragementation and
free space information is printed.
The list of allocations is formatted as a file with one allocation
request per line, with space separated values for "want", "unit",
"max", and "hint". Values can be any integer format supported by
std::scanf()'s %u formatter.
The allocation request line format:
<want> <unit> [max] [hint]