gasp_find_free()

Find a free region of a particular space type

Synopsis:

#include <qvm/gasp.h>
uint64_t gasp_find_free(const struct guest_system *gsp,
                        unsigned qst,
                        uint64_t size,
                        uint64_t align)

Arguments:

gsp
A pointer to the guest system being searched for a free region.
qst
QST_* macro for the space type being searched (see qvm_state_types).
size
The number of bytes being requested.
align
The alignment being requested.

Description:

Note:

This function is not thread-safe. You must call gasp_lock() before calling this function, to ensure that no other vdev can claim the region you need, then call gasp_unlock() when work is complete.

Returns:

The starting location for free space, or QSL_NO_LOCATION if nothing is available.