class VPartition
Defined at line 32 of file ../../src/storage/fvm/driver/vpartition.h
Public Members
Mutex lock_
Public Methods
SliceMap::iterator ExtentBegin ()
Defined at line 67 of file ../../src/storage/fvm/driver/vpartition.h
void SliceSetUnsafe (uint64_t vslice, uint64_t pslice)
Defined at line 78 of file ../../src/storage/fvm/driver/vpartition.h
bool SliceCanFree (uint64_t vslice)
Returns true if the respective vslice is considered allocated by this partition.
Defined at line 85 of file ../../src/storage/fvm/driver/vpartition.h
zx_status_t Create (VPartitionManager * vpm, size_t entry_index, std::unique_ptr<VPartition> * out)
Defined at line 91 of file ../../src/storage/fvm/driver/vpartition.cc
size_t BlockSize ()
Defined at line 100 of file ../../src/storage/fvm/driver/vpartition.h
void AddBlocksLocked (ssize_t nblocks)
Defined at line 101 of file ../../src/storage/fvm/driver/vpartition.h
zx_status_t DdkGetProtocol (uint32_t proto_id, void * out)
Device Protocol
Defined at line 217 of file ../../src/storage/fvm/driver/vpartition.cc
void DdkMadeVisible ()
Defined at line 547 of file ../../src/storage/fvm/driver/vpartition.cc
void DdkRelease ()
Defined at line 531 of file ../../src/storage/fvm/driver/vpartition.cc
void BlockImplQuery (block_info_t * info_out, size_t * block_op_size_out)
Block Protocol
Defined at line 417 of file ../../src/storage/fvm/driver/vpartition.cc
void BlockImplQueue (block_op_t * txn, block_impl_queue_callback completion_cb, void * cookie)
Defined at line 280 of file ../../src/storage/fvm/driver/vpartition.cc
zx_status_t BlockPartitionGetGuid (guidtype_t guid_type, guid_t * out_guid)
Partition Protocol
Defined at line 425 of file ../../src/storage/fvm/driver/vpartition.cc
zx_status_t BlockPartitionGetName (char * out_name, size_t capacity)
Defined at line 445 of file ../../src/storage/fvm/driver/vpartition.cc
zx_status_t BlockPartitionGetMetadata (partition_metadata_t * out_metadata)
Defined at line 458 of file ../../src/storage/fvm/driver/vpartition.cc
zx_status_t BlockVolumeExtend (const slice_extent_t * extent)
Volume Protocol
Defined at line 477 of file ../../src/storage/fvm/driver/vpartition.cc
zx_status_t BlockVolumeShrink (const slice_extent_t * extent)
Defined at line 487 of file ../../src/storage/fvm/driver/vpartition.cc
zx_status_t BlockVolumeGetInfo (volume_manager_info_t * out_manager, volume_info_t * out_volume)
Defined at line 497 of file ../../src/storage/fvm/driver/vpartition.cc
zx_status_t BlockVolumeQuerySlices (const uint64_t * start_list, size_t start_count, slice_region_t * out_responses_list, size_t responses_count, size_t * out_responses_actual)
Defined at line 509 of file ../../src/storage/fvm/driver/vpartition.cc
zx_status_t BlockVolumeDestroy ()
Defined at line 528 of file ../../src/storage/fvm/driver/vpartition.cc
bool SliceGetLocked (uint64_t vslice, uint64_t * out_pslice)
Returns true if the respective |vslice| is mapped to a physical slice, and sets |*pslice| to
the mapped physical slice. Returns false if the |vslice| is unallocated.
Defined at line 101 of file ../../src/storage/fvm/driver/vpartition.cc
size_t entry_index ()
Defined at line 103 of file ../../src/storage/fvm/driver/vpartition.h
void KillLocked ()
Defined at line 105 of file ../../src/storage/fvm/driver/vpartition.h
bool IsKilledLocked ()
Defined at line 106 of file ../../src/storage/fvm/driver/vpartition.h
zx_status_t AddSignalVisible (std::unique_ptr<VPartition> vp, const std::string & name, sync_completion_t * on_visible)
Add `vp` device, signaling `on_visible` once the device can be enumerated in devfs.
Defined at line 535 of file ../../src/storage/fvm/driver/vpartition.cc
zx_status_t CheckSlices (uint64_t vslice_start, size_t * count, bool * allocated)
Check slices starting from |vslice_start|.
Sets |*count| to the number of contiguous allocated or unallocated slices found.
Sets |*allocated| to true if the vslice range is allocated, and false otherwise.
Defined at line 111 of file ../../src/storage/fvm/driver/vpartition.cc
void SliceSetLocked (uint64_t vslice, uint64_t pslice)
Maps the respective |vslice| to the given |pslice| and it will be considered as allocated.
Defined at line 147 of file ../../src/storage/fvm/driver/vpartition.cc
void SliceFreeLocked (uint64_t vslice)
Marks |vslice| free from this partition. |vslice| is required to be allocated in the
partition, users should call SliceCanFree(vslice) before calling this method.
Defined at line 177 of file ../../src/storage/fvm/driver/vpartition.cc
size_t NumSlicesLocked ()
Returns the number of slices which are assigned to the vpartition.
Defined at line 196 of file ../../src/storage/fvm/driver/vpartition.cc
void ExtentDestroyLocked (uint64_t vslice)
Destroy the extent containing the vslice.
Defined at line 204 of file ../../src/storage/fvm/driver/vpartition.cc
void VPartition (VPartitionManager * vpm, size_t entry_index, size_t block_op_size)
Defined at line 83 of file ../../src/storage/fvm/driver/vpartition.cc
void ~VPartition ()
Defined at line 89 of file ../../src/storage/fvm/driver/vpartition.cc