/*
* Allocate a region in an extent map subregion.
*
* If EX_FAST is specified, we return the first fit in the map.
* Otherwise, we try to minimize fragmentation by finding the
* smallest gap that will hold the request.
*
* The allocated region is aligned to "alignment", which must be
* a power of 2.
*/