org.freedesktop.UDisks2.Block.VDO

org.freedesktop.UDisks2.Block.VDO — block object interface for managing a running VDO volume

Methods

Deactivate          (IN  a{sv} options);
EnableCompression   (IN  b     enable,
                     IN  a{sv} options);
EnableDeduplication (IN  b     enable,
                     IN  a{sv} options);
ChangeWritePolicy   (IN  s     write_policy,
                     IN  a{sv} options);
Remove              (IN  b     force,
                     IN  a{sv} options);
Stop                (IN  b     force,
                     IN  a{sv} options);
GrowLogical         (IN  t     size,
                     IN  a{sv} options);
GrowPhysical        (IN  a{sv} options);
GetStatistics       (IN  a{sv} options,
                     OUT a{ss} stats);

Properties

Name           readable   s
Active         readable   b
Compression    readable   b
Deduplication  readable   b
LogicalSize    readable   t
PhysicalSize   readable   t
IndexMemory    readable   t
WritePolicy    readable   s

Description

This interface is exposed for block objects that represent existing and running VDO volumes.

Due to the VDO design not every change trigerred outside of udisks gets propagated via udev and may go unnoticed. It's guaranteed that changes made via udisks are properly reflected in the object properties though.

Since 2.8.0

Method Details

The Deactivate() method

Deactivate (IN  a{sv} options);

Deactivates the VDO volume. Deactivating a currently running volume does not stop it. Once a volume is deactivated it needs to be activated again using the ActivateVolumeByName() method call on the manager object.

IN a{sv} options:

Additional options (currently unused except for standard options).

Since 2.8.0


The EnableCompression() method

EnableCompression (IN  b     enable,
                   IN  a{sv} options);

Enables or disables compression on the VDO volume. If the VDO volume is running, takes effect immediately.

IN b enable:

A boolean value indicating whether compression should be enabled.

IN a{sv} options:

Additional options (currently unused except for standard options).

Since 2.8.0


The EnableDeduplication() method

EnableDeduplication (IN  b     enable,
                     IN  a{sv} options);

Enables or disables deduplication on the VDO volume. If the VDO volume is running, takes effect immediately.

IN b enable:

A boolean value indicating whether deduplication should be enabled.

IN a{sv} options:

Additional options (currently unused except for standard options).

Since 2.8.0


The ChangeWritePolicy() method

ChangeWritePolicy (IN  s     write_policy,
                   IN  a{sv} options);

Modifies the write policy of the running VDO volume. Known write_policy values include:

sync

Writes are acknowledged only after data is on stable storage. 'sync' policy is not supported if the underlying storage is not also synchronous.

async

Writes are acknowledged when data has been cached for writing to stable storage; data which has not been flushed is not guaranteed to persist in this mode.

auto

VDO will check the storage device and determine whether it supports flushes. If it does, VDO will run in async mode, otherwise it will run in sync mode.

IN s write_policy:

The desired write policy.

IN a{sv} options:

Additional options (currently unused except for standard options).

Since 2.8.0


The Remove() method

Remove (IN  b     force,
        IN  a{sv} options);

Removes the VDO volume and associated indexes.

IN b force:

A boolean value indicating whether an unmount attempt should be performed first.

IN a{sv} options:

Additional options (currently unused except for standard options).

Since 2.8.0


The Stop() method

Stop (IN  b     force,
      IN  a{sv} options);

Stops a running VDO volume and associated services. Once a volume is stopped it needs to be started again using the StartVolumeByName() method call on the manager object.

IN b force:

A boolean value indicating whether an unmount attempt should be performed first.

IN a{sv} options:

Additional options (currently unused except for standard options).

Since 2.8.0


The GrowLogical() method

GrowLogical (IN  t     size,
             IN  a{sv} options);

Grows the logical size of a VDO volume to a size specified by the size argument. The volume must be running.

IN t size:

The logical VDO volume size in bytes. The maximum size supported is 4P.

IN a{sv} options:

Additional options (currently unused except for standard options).

Since 2.8.0


The GrowPhysical() method

GrowPhysical (IN  a{sv} options);

Grows the physical size of a VDO volume to the size of underlying block device. The volume must be running.

IN a{sv} options:

Additional options (currently unused except for standard options).

Since 2.8.0


The GetStatistics() method

GetStatistics (IN  a{sv} options,
               OUT a{ss} stats);

Retrieves statistics for the specified VDO volume. Statistics are collected from the values exposed by the kernel kvdo module.

List of known keys:

writeAmplificationRatio

The average number of block writes to the underlying storage per block written to the VDO device.

oneKBlocks

The total number of 1K blocks allocated for a VDO volume (= physical volume size * block size / 1024).

oneKBlocksUsed

The total number of 1K blocks used on a VDO volume (= physical blocks used * block size / 1024).

oneKBlocksAvailable

The total number of 1K blocks available on a VDO volume (= physical blocks free * block size / 1024).

usedPercent

The percentage of physical blocks used on a VDO volume (= used blocks / allocated blocks * 100).

savings, savingPercent

The percentage of physical blocks saved on a VDO volume (= [logical blocks used - physical blocks used] / logical blocks used).

fiveTwelveByteEmulation

Indicates whether 512 byte emulation is on or off for the volume.

allocator_slab_count

The total number of slabs.

allocator_slabs_opened

The total number of slabs from which blocks have ever been allocated.

allocator_slabs_reopened

The number of times slabs have been re-opened since the VDO was started.

bios_acknowledged_discard, bios_acknowledged_flush, bios_acknowledged_fua, bios_acknowledged_read, bios_acknowledged_write

The number of block I/O requests acknowledged by VDO.

bios_acknowledged_partial_discard, bios_acknowledged_partial_flush, bios_acknowledged_partial_fua, bios_acknowledged_partial_read, bios_acknowledged_partial_write

The number of partial block I/O requests acknowledged by VDO. Applies only to 512-byte emulation mode.

bios_in_discard, bios_in_flush, bios_in_fua, bios_in_read, bios_in_write

The number of block I/O requests received by VDO.

bios_in_partial_discard, bios_in_partial_flush, bios_in_partial_fua, bios_in_partial_read, bios_in_partial_write

The number of partial block I/O requests received by VDO. Applies only to 512-byte emulation mode.

bios_in_progress_discard, bios_in_progress_flush, bios_in_progress_fua, bios_in_progress_read, bios_in_progress_write

The number of bios submitted to the VDO which have not yet been acknowledged.

bios_journal_completed_discard, bios_journal_completed_flush, bios_journal_completed_fua, bios_journal_completed_read, bios_journal_completed_write

The number of recovery journal block I/O requests completed by the storage device.

bios_journal_discard, bios_journal_flush, bios_journal_fua, bios_journal_read, bios_journal_write

The number of recovery journal block I/O requests submitted by VDO to the storage device.

bios_meta_completed_discard, bios_meta_completed_flush, bios_meta_completed_fua, bios_meta_completed_read, bios_meta_completed_write

The number of metadata block I/O requests completed by the storage device.

bios_meta_discard, bios_meta_flush, bios_meta_fua, bios_meta_read", bios_meta_write

The number of metadata block I/O requests submitted by VDO to the storage device.

bios_out_completed_discard, bios_out_completed_flush, bios_out_completed_fua, bios_out_completed_read, bios_out_completed_write

The number of non-metadata block I/O requests completed by the storage device.

bios_out_discard, bios_out_flush, bios_out_fua, bios_out_read, bios_out_write

The number of non-metadata block I/O requests submitted by VDO to the storage device.

bios_page_cache_completed_discard, bios_page_cache_completed_flush, bios_page_cache_completed_fua, bios_page_cache_completed_read, bios_page_cache_completed_write

The number of block map I/O requests completed by the storage device.

bios_page_cache_discard, bios_page_cache_flush, bios_page_cache_fua, bios_page_cache_read, bios_page_cache_write

The number of block map I/O requests submitted by VDO to the storage device.

block_map_cache_pressure

The number of times a free page was not available when needed.

block_map_cache_size

The size of the block map cache, in bytes.

block_map_clean_pages

The number of clean pages in the block map cache.

block_map_dirty_pages

The number of dirty pages in the block map cache.

block_map_discard_required

The total number of block map requests that required a page to be discarded.

block_map_failed_pages

The number of block map cache pages that have write errors.

block_map_failed_reads

The total number of block map read errors.

block_map_failed_writes

The total number of block map write errors.

block_map_fetch_required

The total number of requests that required a page fetch.

block_map_flush_count

The total number of flushes issued by the block map.

block_map_found_in_cache

The total number of block map cache hits.

block_map_free_pages

The number of free pages in the block map cache.

block_map_incoming_pages

The number of block map cache pages that are being read into the cache.

block_map_outgoing_pages

The number of block map cache pages that are being written.

block_map_pages_loaded

The total number of page fetches.

block_map_pages_saved

The total number of page saves.

block_map_read_count

The total number of block map page reads.

block_map_read_outgoing

The total number of block map reads for pages that were being written.

block_map_reclaimed

The total number of block map pages that were reclaimed.

block_map_wait_for_page

The total number of requests that had to wait for a page.

block_map_write_count

The total number of block map page writes.

block_size

The block size of a VDO volume, in bytes.

complete_recoveries

The number of times a VDO volume has recovered from an unclean shutdown.

currentVIOs_in_progress

The number of I/O requests the VDO is current processing.

data_blocks_used

The number of physical blocks currently in use by a VDO volume to store data.

dedupe_advice_timeouts

The number of times deduplication queries timed out.

errors_invalid_advicePBNCount

The number of times the index returned invalid advice.

errors_no_space_error_count

The number of write requests which failed due to the VDO volume being out of space.

errors_read_only_error_count

The number of write requests which failed due to the VDO volume being in read-only mode.

flush_out

The number of flush requests submitted by VDO to the underlying storage.

hash_lock_concurrent_data_matches

hash_lock_concurrent_hash_collisions

hash_lock_dedupe_advice_stale

The number of times deduplication advice was incorrect.

hash_lock_dedupe_advice_valid

The number of times deduplication advice was correct.

index_curr_dedupe_queries

The number of deduplication queries currently in flight.

index_entries_indexed

index_max_dedupe_queries

The maximum number of in-flight deduplication queries.

index_posts_found

index_posts_not_found

index_queries_found

index_queries_not_found

index_updates_found

index_updates_not_found

in_recovery_mode

instance

The VDO instance.

journal_blocks_batching

The number of journal block writes started minus the number of journal blocks written.

journal_blocks_committed

The number of journal blocks written to storage.

journal_blocks_started

The number of journal blocks which have been touched in memory.

journal_blocks_writing

The number of journal blocks written (with metadatata in active memory) minus the number of journal blocks committed.

journal_blocks_written

The total number of journal blocks for which a write has been issued.

journal_disk_full

The number of times a request could not make a recovery journal entry because the recovery journal was full.

journal_entries_batching

The number of journal entry writes started minus the number of journal entries written.

journal_entries_committed

The number of journal entries written to storage.

journal_entries_started

The number of journal entries which have been made in memory.

journal_entries_writing

The number of journal entries in submitted writes minus the number of journal entries committed to storage.

journal_entries_written

The total number of journal entries for which a write has been issued.

journal_slab_journal_commits_requested

The number of times the recovery journal requested slab journal commits.

logical_blocks

The maximum number of logical blocks that can be mapped by a VDO volume.

logical_block_size

logical_blocks_used

The number of logical blocks currently mapped.

maxVIOs

The maximum number of simultaneous I/O requests the VDO has processed.

memory_usage_bios_used

KVDO module bios use.

memory_usage_bytes_used

KVDO module bytes use.

memory_usage_peak_bio_count

KVDO module peak bio coun.

memory_usage_peak_bytes_used

KVDO module peak bytes use.

mode

Indicates whether a VDO volume is operating normally, is in recovery mode, or is in read-only mode.

overhead_blocks_used

The number of physical blocks currently in use by a VDO volume to store VDO metadata.

packer_compressed_blocks_written

The number of physical blocks of compressed data that have been written since the VDO volume was last restarted. The remaining fields are primarily intended for software support and are subject to change in future releases; management tools should not rely upon them.

packer_compressed_fragments_in_packer

The number of compressed fragments being processed that have not yet been written.

packer_compressed_fragments_written

The number of compressed fragments that have been written since the VDO volume was last restarted.

physical_blocks

The total number of physical blocks allocated for a VDO volume.

read_cache_accesses

The number of times VDO searched the read cache.

read_cache_data_hits

The number of times VDO found an entry in the read cache for the desired data block, where the block's contents had been read into memory.

read_cache_hits

The number of times VDO found an entry in the read cache for the desired data block, whether or not the block's contents had yet been read into memory.

read_only_recoveries

The number of times a VDO volume has been recovered from read-only mode.

recovery_percentage

Indicates online recovery progress (\), or N/A if the volume is not in recovery mode.

ref_counts_blocks_written

The number of reference block writes issued.

slab_journal_blocked_count

The number of times an entry was added to a slab journal that was over the blocking threshold.

slab_journal_blocks_written

The number of slab journal block writes issued.

slab_journal_disk_full_count

The number of times an on-disk slab journal was full.

slab_journal_flush_count

The number of times an entry was added to a slab journal that was over the flush threshold.

slab_journal_tail_busy_count

The number of times write requests blocked waiting for a slab journal write.

slab_summary_blocks_written

The number of slab summary block writes issued.

write_policy

The write policy (sync or async).

IN a{sv} options:

Additional options (currently unused except for standard options).

OUT a{ss} stats:

Array of key-value string pairs

Since 2.8.0

Property Details

The "Name" property

Name  readable   s

The name of the VDO device.

Since 2.8.0


The "Active" property

Active  readable   b

Indicates whether the device is active.

Since 2.8.0


The "Compression" property

Compression  readable   b

Indicates whether compression is enabled.

Since 2.8.0


The "Deduplication" property

Deduplication  readable   b

Indicates whether deduplication is enabled.

Since 2.8.0


The "LogicalSize" property

LogicalSize  readable   t

The logical size of the VDO volume.

Since 2.8.0


The "PhysicalSize" property

PhysicalSize  readable   t

The physical size of the VDO volume.

Since 2.8.0


The "IndexMemory" property

IndexMemory  readable   t

The index memory size of the VDO volume.

Since 2.8.0


The "WritePolicy" property

WritePolicy  readable   s

The current write policy of the VDO volume.

Known values include:

sync

Writes are acknowledged only after data is on stable storage. 'sync' policy is not supported if the underlying storage is not also synchronous.

async

Writes are acknowledged when data has been cached for writing to stable storage; data which has not been flushed is not guaranteed to persist in this mode.

auto

VDO will check the storage device and determine whether it supports flushes. If it does, VDO will run in async mode, otherwise it will run in sync mode.

Since 2.8.0