Top |
enum | BDKBDBcacheMode |
BDKBDBcacheStats | |
enum | BDKBDError |
BDKBDZramStats | |
#define | BD_KBD_ERROR |
enum | BDKBDTech |
enum | BDKBDTechMode |
gboolean
bd_kbd_init (void
);
Initializes the plugin. **This function is called automatically by the library's initialization functions.**
void
bd_kbd_close (void
);
Cleans up after the plugin. **This function is called automatically by the library's functions that unload it.**
gboolean bd_kbd_bcache_attach (const gchar *c_set_uuid
,const gchar *bcache_device
,GError **error
);
c_set_uuid |
cache set UUID of the cache to attach |
|
bcache_device |
bcache device to attach |
|
error |
place to store error (if any). |
[out][optional] |
whether the c_set_uuid
cache was successfully attached to bcache_device
or not
Tech category: BD_KBD_TECH_BCACHE
-BD_KBD_TECH_MODE_MODIFY
gboolean bd_kbd_bcache_create (const gchar *backing_device
,const gchar *cache_device
,const BDExtraArg **extra
,const gchar **bcache_device
,GError **error
);
backing_device |
backing (slow) device of the cache |
|
cache_device |
cache (fast) device of the cache |
|
extra |
extra options for the creation (right now passed to the 'make-bcache' utility). |
[nullable][array zero-terminated=1] |
bcache_device |
place to store the name of the new bcache device (if any). |
[out][optional][transfer full] |
error |
place to store error (if any). |
[out][optional] |
whether the bcache device was successfully created or not
Tech category: BD_KBD_TECH_BCACHE
-BD_KBD_TECH_MODE_CREATE
gboolean bd_kbd_bcache_destroy (const gchar *bcache_device
,GError **error
);
bcache_device |
bcache device to destroy |
|
error |
place to store error (if any). |
[out][optional] |
whether the bcache device bcache_device
was successfully destroyed or not
Tech category: BD_KBD_TECH_BCACHE
-BD_KBD_TECH_MODE_DESTROY
gboolean bd_kbd_bcache_detach (const gchar *bcache_device
,gchar **c_set_uuid
,GError **error
);
bcache_device |
bcache device to detach the cache from |
|
c_set_uuid |
cache set UUID of the detached cache. |
[out][optional][transfer full] |
error |
place to store error (if any). |
[out][optional] |
whether the bcache device bcache_device
was successfully destroyed or not
Note: Flushes the cache first.
Tech category: BD_KBD_TECH_BCACHE
-BD_KBD_TECH_MODE_MODIFY
gchar * bd_kbd_bcache_get_backing_device (const gchar *bcache_device
,GError **error
);
bcache_device |
Bcache device to get the backing device for |
|
error |
place to store error (if any). |
[out][optional] |
name of the backing device of the bcache_device
or NULL
if failed to determine (error
is populated)
Tech category: BD_KBD_TECH_BCACHE
-BD_KBD_TECH_MODE_QUERY
.
[transfer full]
gchar * bd_kbd_bcache_get_cache_device (const gchar *bcache_device
,GError **error
);
bcache_device |
Bcache device to get the cache device for |
|
error |
place to store error (if any). |
[out][optional] |
name of the cache device of the bcache_device
or NULL
if failed to determine (error
is populated)
Note: returns the name of the first cache device of bcache_device
(in case
there are more)
Tech category: BD_KBD_TECH_BCACHE
-BD_KBD_TECH_MODE_QUERY
.
[transfer full]
BDKBDBcacheMode bd_kbd_bcache_get_mode (const gchar *bcache_device
,GError **error
);
BDKBDBcacheMode bd_kbd_bcache_get_mode_from_str (const gchar *mode_str
,GError **error
);
const gchar * bd_kbd_bcache_get_mode_str (BDKBDBcacheMode mode
,GError **error
);
mode |
mode to get string representation of |
|
error |
place to store error (if any). |
[out][optional] |
string representation of mode
or NULL
in case of error
Tech category: always available.
[transfer none]
gboolean bd_kbd_bcache_set_mode (const gchar *bcache_device
,BDKBDBcacheMode mode
,GError **error
);
bcache_device |
bcache device to set mode of |
|
mode |
mode to set |
|
error |
place to store error (if any). |
[out][optional] |
whether the mode was successfully set or not
Tech category: BD_KBD_TECH_BCACHE
-BD_KBD_TECH_MODE_MODIFY
BDKBDBcacheStats *
bd_kbd_bcache_stats_copy (BDKBDBcacheStats *data
);
Creates a new copy of data
.
[skip]
void
bd_kbd_bcache_stats_free (BDKBDBcacheStats *data
);
Frees data
.
[skip]
BDKBDBcacheStats * bd_kbd_bcache_status (const gchar *bcache_device
,GError **error
);
bcache_device |
bcache device to get status for |
|
error |
place to store error (if any). |
[out][optional] |
status of the bcache_device
or NULL
in case of
error (error
is set)
Tech category: BD_KBD_TECH_BCACHE
-BD_KBD_TECH_MODE_QUERY
.
[transfer full]
gboolean bd_kbd_zram_create_devices (guint64 num_devices
,const guint64 *sizes
,const guint64 *nstreams
,GError **error
);
num_devices |
number of devices to create |
|
sizes |
requested sizes (in bytes) for created zRAM devices. |
[array zero-terminated=1] |
nstreams |
numbers of streams for created zRAM devices. |
[nullable][array zero-terminated=1] |
error |
place to store error (if any). |
[out][optional] |
whether num_devices
zRAM devices were successfully created or not
**Lengths of size
and nstreams
(if given) have to be >= num_devices
!**
Tech category: BD_KBD_TECH_ZRAM
-BD_KBD_TECH_MODE_CREATE
gboolean
bd_kbd_zram_destroy_devices (GError **error
);
whether zRAM devices were successfully destroyed or not
The only way how to destroy zRAM device right now is to unload the 'zram' module and thus destroy all of them. That's why this function doesn't allow specification of which devices should be destroyed.
Tech category: BD_KBD_TECH_ZRAM
-BD_KBD_TECH_MODE_DESTROY
gboolean bd_kbd_zram_add_device (guint64 size
,guint64 nstreams
,gchar **device
,GError **error
);
size |
size of the zRAM device to add |
|
nstreams |
number of streams to use for the new device (or 0 to use the defaults) |
|
device |
place to store the name of the newly added device. |
[optional][out] |
error |
place to store error (if any). |
[out][optional] |
whether a new zRAM device was added or not
Tech category: BD_KBD_TECH_ZRAM
-BD_KBD_TECH_MODE_MODIFY
gboolean bd_kbd_zram_remove_device (const gchar *device
,GError **error
);
whether the device
was successfully removed or not
Tech category: BD_KBD_TECH_ZRAM
-BD_KBD_TECH_MODE_MODIFY
BDKBDZramStats * bd_kbd_zram_get_stats (const gchar *device
,GError **error
);
statistics for the zRAM device
Tech category: BD_KBD_TECH_ZRAM
-BD_KBD_TECH_MODE_QUERY
.
[transfer full]
BDKBDZramStats *
bd_kbd_zram_stats_copy (BDKBDZramStats *data
);
Creates a new copy of data
.
[skip]
gboolean bd_kbd_is_tech_avail (BDKBDTech tech
,guint64 mode
,GError **error
);
tech |
the queried tech |
|
mode |
a bit mask of queried modes of operation (BDKBDTechMode) for |
|
error |
place to store error (details about why the |
[out][optional] |
typedef struct { gchar *state; guint64 block_size; guint64 cache_size; guint64 cache_used; guint64 hits; guint64 misses; guint64 bypass_hits; guint64 bypass_misses; } BDKBDBcacheStats;
gchar * |
state of the cache |
|
guint64 |
block size used by the cache |
|
guint64 |
size of the cache |
|
guint64 |
size of the used space in the cache |
|
guint64 |
number of hits |
|
guint64 |
number of misses |
|
guint64 |
number of bypass hits |
|
guint64 |
number of bypass misses |
typedef struct { guint64 disksize; guint64 num_reads; guint64 num_writes; guint64 invalid_io; guint64 zero_pages; guint64 max_comp_streams; gchar* comp_algorithm; guint64 orig_data_size; guint64 compr_data_size; guint64 mem_used_total; } BDKBDZramStats;
see zRAM kernel documentation for details (https://www.kernel.org/doc/Documentation/blockdev/zram.txt)