VDO

VDO — plugin for operations with VDO devices

Functions

Types and Values

Includes

#include <vdo.h>

Description

A plugin for operations with VDO devices.

Functions

bd_vdo_check_deps ()

gboolean
bd_vdo_check_deps ();

Returns

whether the plugin's runtime dependencies are satisfied or not

Function checking plugin's runtime dependencies.


bd_vdo_init ()

gboolean
bd_vdo_init ();

Initializes the plugin. **This function is called automatically by the library's initialization functions.**


bd_vdo_close ()

void
bd_vdo_close ();

Cleans up after the plugin. **This function is called automatically by the library's functions that unload it.**


bd_vdo_error_quark ()

GQuark
bd_vdo_error_quark (void);

[skip]


bd_vdo_get_write_policy_str ()

const gchar *
bd_vdo_get_write_policy_str (BDVDOWritePolicy policy,
                             GError **error);

Parameters

policy

policy to get the string representation for

 

error

place to store error (if any).

[out]

Returns

string representation of policy or NULL in case of error

Tech category: always provided/supported


bd_vdo_get_write_policy_from_str ()

BDVDOWritePolicy
bd_vdo_get_write_policy_from_str (const gchar *policy_str,
                                  GError **error);

Parameters

policy_str

string representation of a write policy mode

 

error

place to store error (if any).

[out]

Returns

write policy for the mode_str or BD_VDO_WRITE_POLICY_UNKNOWN if failed to determine

Tech category: always provided/supported


bd_vdo_info ()

BDVDOInfo *
bd_vdo_info (const gchar *name,
             GError **error);

Parameters

name

a VDO volume to get information about

 

error

place to store error (if any).

[out]

Returns

information about the VDO volume or NULL in case of error (error gets populated in those cases)

Tech category: BD_VDO_TECH_VDO-BD_VDO_TECH_MODE_QUERY.

[transfer full]


bd_vdo_create ()

gboolean
bd_vdo_create (const gchar *name,
               const gchar *backing_device,
               guint64 logical_size,
               guint64 index_memory,
               gboolean compression,
               gboolean deduplication,
               BDVDOWritePolicy write_policy,
               const BDExtraArg **extra,
               GError **error);

Parameters

name

name for the VDO volume

 

backing_device

device to use for VDO storage

 

logical_size

logical VDO volume size or 0 for default (size of backing_device )

 

index_memory

amount of index memory or 0 for default; note that only some sizes are valid here (0.25, 0.5 and 0.75 GB and integer multiples of 1 GB) invalid sizes will be rounded DOWN to nearest GB (or one of the allowed decimal values)

 

compression

whether to enable compression or not

 

deduplication

whether to enable deduplication or not

 

write_policy

write policy for the volume

 

extra

extra options for the VDO creation (just passed to VDO as is).

[allow-none][array zero-terminated=1]

error

place to store error (if any).

[out]

Returns

whether the VDO volume was successfully created or not

Tech category: BD_VDO_TECH_VDO-BD_VDO_MODE_CREATE


bd_vdo_remove ()

gboolean
bd_vdo_remove (const gchar *name,
               gboolean force,
               const BDExtraArg **extra,
               GError **error);

Parameters

name

name of an existing VDO volume

 

force

force remove the volume

 

extra

extra options for the VDO creation (just passed to VDO as is).

[allow-none][array zero-terminated=1]

error

place to store error (if any).

[out]

Returns

whether the VDO volume was successfully removed or not

Tech category: BD_VDO_TECH_VDO-BD_VDO_TECH_MODE_MODIFY


bd_vdo_change_write_policy ()

gboolean
bd_vdo_change_write_policy (const gchar *name,
                            BDVDOWritePolicy write_policy,
                            const BDExtraArg **extra,
                            GError **error);

Parameters

name

name of an existing VDO volume

 

write_policy

new write policy for the volume

 

extra

extra options for the VDO creation (just passed to VDO as is).

[allow-none][array zero-terminated=1]

error

place to store error (if any).

[out]

Returns

whether the policy was successfully changed or not

Tech category: BD_VDO_TECH_VDO-BD_VDO_TECH_MODE_MODIFY


bd_vdo_enable_compression ()

gboolean
bd_vdo_enable_compression (const gchar *name,
                           const BDExtraArg **extra,
                           GError **error);

Parameters

name

name of an existing VDO volume

 

extra

extra options for the VDO creation (just passed to VDO as is).

[allow-none][array zero-terminated=1]

error

place to store error (if any).

[out]

Returns

whether the compression was successfully enabled or not

Tech category: BD_VDO_TECH_VDO-BD_VDO_TECH_MODE_MODIFY


bd_vdo_disable_compression ()

gboolean
bd_vdo_disable_compression (const gchar *name,
                            const BDExtraArg **extra,
                            GError **error);

Parameters

name

name of an existing VDO volume

 

extra

extra options for the VDO creation (just passed to VDO as is).

[allow-none][array zero-terminated=1]

error

place to store error (if any).

[out]

Returns

whether the compression was successfully disabled or not

Tech category: BD_VDO_TECH_VDO-BD_VDO_TECH_MODE_MODIFY


bd_vdo_enable_deduplication ()

gboolean
bd_vdo_enable_deduplication (const gchar *name,
                             const BDExtraArg **extra,
                             GError **error);

Parameters

name

name of an existing VDO volume

 

extra

extra options for the VDO creation (just passed to VDO as is).

[allow-none][array zero-terminated=1]

error

place to store error (if any).

[out]

Returns

whether the deduplication was successfully enabled or not

Tech category: BD_VDO_TECH_VDO-BD_VDO_TECH_MODE_MODIFY


bd_vdo_disable_deduplication ()

gboolean
bd_vdo_disable_deduplication (const gchar *name,
                              const BDExtraArg **extra,
                              GError **error);

Parameters

name

name of an existing VDO volume

 

extra

extra options for the VDO creation (just passed to VDO as is).

[allow-none][array zero-terminated=1]

error

place to store error (if any).

[out]

Returns

whether the deduplication was successfully disabled or not

Tech category: BD_VDO_TECH_VDO-BD_VDO_TECH_MODE_MODIFY


bd_vdo_activate ()

gboolean
bd_vdo_activate (const gchar *name,
                 const BDExtraArg **extra,
                 GError **error);

Parameters

name

name of an existing VDO volume

 

extra

extra options for the VDO creation (just passed to VDO as is).

[allow-none][array zero-terminated=1]

error

place to store error (if any).

[out]

Returns

whether the VDO volume was successfully activated or not

Tech category: BD_VDO_TECH_VDO-BD_VDO_TECH_MODE_ACTIVATE_DEACTIVATE


bd_vdo_deactivate ()

gboolean
bd_vdo_deactivate (const gchar *name,
                   const BDExtraArg **extra,
                   GError **error);

Parameters

name

name of an existing VDO volume

 

extra

extra options for the VDO creation (just passed to VDO as is).

[allow-none][array zero-terminated=1]

error

place to store error (if any).

[out]

Returns

whether the VDO volume was successfully deactivated or not

Tech category: BD_VDO_TECH_VDO-BD_VDO_TECH_MODE_ACTIVATE_DEACTIVATE


bd_vdo_start ()

gboolean
bd_vdo_start (const gchar *name,
              gboolean rebuild,
              const BDExtraArg **extra,
              GError **error);

Parameters

name

name of an existing VDO volume

 

rebuild

force rebuild the volume

 

extra

extra options for the VDO creation (just passed to VDO as is).

[allow-none][array zero-terminated=1]

error

place to store error (if any).

[out]

Returns

whether the VDO volume was successfully started or not

Tech category: BD_VDO_TECH_VDO-BD_VDO_TECH_MODE_START_STOP


bd_vdo_stop ()

gboolean
bd_vdo_stop (const gchar *name,
             gboolean force,
             const BDExtraArg **extra,
             GError **error);

Parameters

name

name of an existing VDO volume

 

force

force stop the volume

 

extra

extra options for the VDO creation (just passed to VDO as is).

[allow-none][array zero-terminated=1]

error

place to store error (if any).

[out]

Returns

whether the VDO volume was successfully stopped or not

Tech category: BD_VDO_TECH_VDO-BD_VDO_TECH_MODE_START_STOP


bd_vdo_grow_logical ()

gboolean
bd_vdo_grow_logical (const gchar *name,
                     guint64 size,
                     const BDExtraArg **extra,
                     GError **error);

Parameters

name

name of an existing VDO volume

 

size

new logical size for the volume

 

extra

extra options for the VDO creation (just passed to VDO as is).

[allow-none][array zero-terminated=1]

error

place to store error (if any).

[out]

Returns

whether the VDO volume was successfully resized or not

Tech category: BD_VDO_TECH_VDO-BD_VDO_TECH_MODE_GROW


bd_vdo_grow_physical ()

gboolean
bd_vdo_grow_physical (const gchar *name,
                      const BDExtraArg **extra,
                      GError **error);

Parameters

name

name of an existing VDO volume

 

extra

extra options for the VDO tool (just passed to VDO as is).

[allow-none][array zero-terminated=1]

error

place to store error (if any).

[out]

Returns

whether the VDO volume was successfully grown or not

Tech category: BD_VDO_TECH_VDO-BD_VDO_TECH_MODE_GROW


bd_vdo_is_tech_avail ()

gboolean
bd_vdo_is_tech_avail (BDVDOTech tech,
                      guint64 mode,
                      GError **error);

Parameters

tech

the queried tech

 

mode

a bit mask of queried modes of operation (BDVDOTechMode) for tech

 

error

place to store error (details about why the tech -mode combination is not available).

[out]

Returns

whether the tech -mode combination is available -- supported by the plugin implementation and having all the runtime dependencies available

Types and Values

enum BDVDOError

Members

BD_VDO_ERROR_FAIL

   

BD_VDO_ERROR_PARSE

   

BD_VDO_ERROR_TECH_UNAVAIL

   

BD_VDO_ERROR_POLICY_INVAL

   

BD_VDO_ERROR

#define             BD_VDO_ERROR

BDVDOInfo

typedef struct {
    gchar *name;
    gchar *device;
    gboolean active;
    gboolean deduplication;
    gboolean compression;
    guint64 logical_size;
    guint64 physical_size;
    guint64 index_memory;
    BDVDOWritePolicy write_policy;
} BDVDOInfo;

Members

gchar *name;

name of the VDO volume

 

gchar *device;

underlying block device

 

gboolean active;

whether the volume is active or not

 

gboolean deduplication;

whether deduplication is enabled

 

gboolean compression;

whether compression is enabled

 

guint64 logical_size;

logical size of the volume

 

guint64 physical_size;

sphysical size of the volume

 

guint64 index_memory;

index memory size

 

BDVDOWritePolicy write_policy;

write policy of the volume

 

enum BDVDOTech

Members

BD_VDO_TECH_VDO

   

enum BDVDOTechMode

Members

BD_VDO_TECH_MODE_CREATE

   

BD_VDO_TECH_MODE_REMOVE

   

BD_VDO_TECH_MODE_MODIFY

   

BD_VDO_TECH_MODE_ACTIVATE_DEACTIVATE

   

BD_VDO_TECH_MODE_START_STOP

   

BD_VDO_TECH_MODE_QUERY

   

BD_VDO_TECH_MODE_GROW