class ReservedExtent

Defined at line 63 of file ../../src/storage/blobfs/allocator/extent_reserver.h

Wraps an extent reservation in RAII to hold the reservation active, and release it when it goes

out of scope.

Public Methods

void ReservedExtent (ReservedExtent && o)

Defined at line 48 of file ../../src/storage/blobfs/allocator/extent_reserver.cc

ReservedExtent & operator= (ReservedExtent && o)

Defined at line 53 of file ../../src/storage/blobfs/allocator/extent_reserver.cc

void ~ReservedExtent ()

Defined at line 46 of file ../../src/storage/blobfs/allocator/extent_reserver.cc

const Extent & extent ()

Access the underlying extent which has been reserved.

Unsafe to call if this extent has not actually been reserved.

Defined at line 61 of file ../../src/storage/blobfs/allocator/extent_reserver.cc

void ReservedExtent (const ReservedExtent & )

Defined at line 65 of file ../../src/storage/blobfs/allocator/extent_reserver.h

ReservedExtent & operator= (const ReservedExtent & )

Defined at line 65 of file ../../src/storage/blobfs/allocator/extent_reserver.h

ReservedExtent SplitAt (uint64_t block_split)

Split a reserved extent from [start, start + length) such that:

This retains [start, start + block_split),

and returns [start + block_split, start + length)

This function requires that |block_split|

<

|extent.block_count|.

Defined at line 66 of file ../../src/storage/blobfs/allocator/extent_reserver.cc

void Reset ()

Releases the underlying reservation, unreserving the extent and preventing continued access

to |extent()|.

Defined at line 75 of file ../../src/storage/blobfs/allocator/extent_reserver.cc

Friends

class ExtentReserver