Top |
#define | BD_MD_SUPERBLOCK_SIZE |
#define | BD_MD_CHUNK_SIZE |
GQuark | bd_md_error_quark () |
BDMDExamineData * | bd_md_examine_data_copy () |
void | bd_md_examine_data_free () |
void | bd_md_detail_data_free () |
BDMDDetailData * | bd_md_detail_data_copy () |
guint64 | bd_md_get_superblock_size () |
gboolean | bd_md_create () |
gboolean | bd_md_destroy () |
gboolean | bd_md_deactivate () |
gboolean | bd_md_activate () |
gboolean | bd_md_run () |
gboolean | bd_md_nominate () |
gboolean | bd_md_denominate () |
gboolean | bd_md_add () |
gboolean | bd_md_remove () |
BDMDExamineData * | bd_md_examine () |
gchar * | bd_md_canonicalize_uuid () |
gchar * | bd_md_get_md_uuid () |
BDMDDetailData * | bd_md_detail () |
gchar * | bd_md_node_from_name () |
gchar * | bd_md_name_from_node () |
A plugin for basic operations with MD RAID. Also sizes are in bytes unless specified otherwise.
BDMDExamineData *
bd_md_examine_data_copy (BDMDExamineData *data
);
Creates a new copy of data
.
BDMDDetailData *
bd_md_detail_data_copy (BDMDDetailData *data
);
Creates a new copy of data
.
guint64 bd_md_get_superblock_size (guint64 size
,gchar *version
,GError **error
);
size |
size of the array |
|
version |
metadata version or |
[allow-none] |
error |
place to store error (if any). |
[out] |
gboolean bd_md_create (gchar *device_name
,gchar *level
,gchar **disks
,guint64 spares
,gchar *version
,gboolean bitmap
,GError **error
);
device_name |
name of the device to create |
|
level |
RAID level (as understood by mdadm, see mdadm(8)) |
|
disks |
disks to use for the new RAID (including spares). |
[array zero-terminated=1] |
spares |
number of spare devices |
|
version |
metadata version. |
[allow-none] |
bitmap |
whether to create an internal bitmap on the device or not |
|
error |
place to store error (if any). |
[out] |
gboolean bd_md_deactivate (gchar *device_name
,GError **error
);
gboolean bd_md_activate (gchar *device_name
,gchar **members
,gchar *uuid
,GError **error
);
gboolean bd_md_run (gchar *raid_name
,GError **error
);
gboolean bd_md_nominate (gchar *device
,GError **error
);
gboolean bd_md_denominate (gchar *device
,GError **error
);
gboolean bd_md_add (gchar *raid_name
,gchar *device
,guint64 raid_devs
,GError **error
);
raid_name |
name of the RAID device to add |
|
device |
name of the device to add to the |
|
raid_devs |
number of devices the |
|
error |
place to store error (if any). |
[out] |
whether the device
was successfully added to the raid_name
RAID or
not
The raid_devs
parameter is used when adding devices to a raid array that has
no actual redundancy. In this case it is necessary to explicitly grow the
array all at once rather than manage it in the sense of adding spares.
Whether the new device will be added as a spare or an active member is decided by mdadm.
gboolean bd_md_remove (gchar *raid_name
,gchar *device
,gboolean fail
,GError **error
);
BDMDExamineData * bd_md_examine (gchar *device
,GError **error
);
gchar * bd_md_canonicalize_uuid (gchar *uuid
,GError **error
);
cannonicalized form of uuid
or NULL
in case of error
This function expects a UUID in the form that mdadm returns. The change is as follows: 3386ff85:f5012621:4a435f06:1eb47236 -> 3386ff85-f501-2621-4a43-5f061eb47236.
[transfer full]
gchar * bd_md_get_md_uuid (gchar *uuid
,GError **error
);
uuid |
UUID to transform into format used by MD RAID |
|
error |
place to store error (if any). |
[out] |
transformed form of uuid
or NULL
in case of error
This function expects a UUID in the canonical (traditional format) and
returns a UUID in the format used by MD RAID and is thus reverse to
bd_md_canonicalize_uuid()
. The change is as follows:
3386ff85-f501-2621-4a43-5f061eb47236 -> 3386ff85:f5012621:4a435f06:1eb47236.
[transfer full]
typedef struct { gchar *device; gchar *level; guint64 num_devices; gchar *name; guint64 size; gchar *uuid; guint64 update_time; gchar *dev_uuid; guint64 events; gchar *metadata; } BDMDExamineData;
typedef struct { gchar *device; gchar *metadata; gchar *creation_time; gchar *level; gchar *name; guint64 array_size; guint64 use_dev_size; guint64 raid_devices; guint64 total_devices; guint64 active_devices; guint64 working_devices; guint64 failed_devices; guint64 spare_devices; gboolean clean; gchar *uuid; } BDMDDetailData;