/* * Allocate a block or fragment. * * The specified block or fragment is removed from the * free map, possibly fragmenting a block in the process. * * This implementation should mirror fs_blkfree * * => um_lock not held on entry or exit */