diff --git a/src/plugins/fs/generic.h b/src/plugins/fs/generic.h index 70d674b02..16a357fd8 100644 --- a/src/plugins/fs/generic.h +++ b/src/plugins/fs/generic.h @@ -29,6 +29,9 @@ typedef struct BDFSMkfsOptions { guint8 reserve[32]; } BDFSMkfsOptions; +BDFSMkfsOptions* bd_fs_mkfs_options_copy (BDFSMkfsOptions *data); +void bd_fs_mkfs_options_free (BDFSMkfsOptions *data); + const gchar** bd_fs_supported_filesystems (GError **error); gboolean bd_fs_mkfs (const gchar *device, const gchar *fstype, BDFSMkfsOptions *options, const BDExtraArg **extra, GError **error); @@ -75,6 +78,9 @@ typedef struct BDFSFeatures { const gchar *partition_type; } BDFSFeatures; +BDFSFeatures* bd_fs_features_copy (BDFSFeatures *data); +void bd_fs_features_free (BDFSFeatures *data); + const BDFSFeatures* bd_fs_features (const gchar *fstype, GError **error); gboolean bd_fs_can_mkfs (const gchar *type, BDFSMkfsOptionsFlags *options, gchar **required_utility, GError **error); diff --git a/src/plugins/loop.c b/src/plugins/loop.c index 7750033a1..58efb3be7 100644 --- a/src/plugins/loop.c +++ b/src/plugins/loop.c @@ -450,64 +450,6 @@ gboolean bd_loop_teardown (const gchar *loop, GError **error) { return TRUE; } -/** - * bd_loop_get_autoclear: - * @loop: path or name of the loop device - * @error: (out) (optional): place to store error (if any) - * - * Returns: whether the autoclear flag is set on the @loop device or not (if %FALSE, @error may be set) - * - * Tech category: %BD_LOOP_TECH_LOOP-%BD_LOOP_TECH_MODE_QUERY - */ -gboolean bd_loop_get_autoclear (const gchar *loop, GError **error) { - gchar *sys_path = NULL; - gboolean success = FALSE; - gchar *contents = NULL; - gboolean ret = FALSE; - gchar *dev_loop = NULL; - gint fd = -1; - struct loop_info64 li64; - - /* first try reading the value from /sys which seems to be safer than - potentially stepping on each other's toes with udev during the ioctl() */ - if (g_str_has_prefix (loop, "/dev/")) - sys_path = g_strdup_printf ("/sys/class/block/%s/loop/autoclear", loop + 5); - else - sys_path = g_strdup_printf ("/sys/class/block/%s/loop/autoclear", loop); - - success = g_file_get_contents (sys_path, &contents, NULL, NULL); - g_free (sys_path); - if (success) { - g_strstrip (contents); - ret = g_strcmp0 (contents, "1") == 0; - g_free (contents); - return ret; - } - - /* else try using the ioctl() */ - if (!g_str_has_prefix (loop, "/dev/")) - dev_loop = g_strdup_printf ("/dev/%s", loop); - - fd = open (dev_loop ? dev_loop : loop, O_RDONLY); - g_free (dev_loop); - if (fd < 0) { - g_set_error (error, BD_LOOP_ERROR, BD_LOOP_ERROR_DEVICE, - "Failed to open device %s: %m", loop); - return FALSE; - } - - memset (&li64, 0, sizeof (li64)); - if (ioctl (fd, LOOP_GET_STATUS64, &li64) < 0) { - g_set_error (error, BD_LOOP_ERROR, BD_LOOP_ERROR_FAIL, - "Failed to get status of the device %s: %m", loop); - close (fd); - return FALSE; - } - - close (fd); - return (li64.lo_flags & LO_FLAGS_AUTOCLEAR) != 0; -} - /** * bd_loop_set_autoclear: * @loop: path or name of the loop device diff --git a/src/plugins/lvm-dbus.c b/src/plugins/lvm-dbus.c index e058f4e9a..f1cb381be 100644 --- a/src/plugins/lvm-dbus.c +++ b/src/plugins/lvm-dbus.c @@ -2355,7 +2355,7 @@ gboolean bd_lvm_delete_vg_tags (const gchar *vg_name, const gchar **tags, GError return _manage_lvm_tags (obj_path, NULL, VG_INTF, tags, "TagsDel", error); } -gboolean _vglock_start_stop (const gchar *vg_name, gboolean start, const BDExtraArg **extra, GError **error) { +static gboolean _vglock_start_stop (const gchar *vg_name, gboolean start, const BDExtraArg **extra, GError **error) { GVariantBuilder builder; GVariant *params = NULL; diff --git a/src/plugins/lvm.c b/src/plugins/lvm.c index 2800c2b77..b43e14596 100644 --- a/src/plugins/lvm.c +++ b/src/plugins/lvm.c @@ -1607,7 +1607,7 @@ gboolean bd_lvm_delete_vg_tags (const gchar *vg_name, const gchar **tags, GError return _manage_lvm_tags (vg_name, tags, "--deltag", "vgchange", error); } -gboolean _vglock_start_stop (const gchar *vg_name, gboolean start, const BDExtraArg **extra, GError **error) { +static gboolean _vglock_start_stop (const gchar *vg_name, gboolean start, const BDExtraArg **extra, GError **error) { const gchar *args[4] = {"vgchange", NULL, vg_name, NULL}; if (start) diff --git a/src/plugins/lvm.h b/src/plugins/lvm.h index 421b2309a..9bdaf53ce 100644 --- a/src/plugins/lvm.h +++ b/src/plugins/lvm.h @@ -113,6 +113,9 @@ typedef struct BDLVMSEGdata { gchar *pvdev; } BDLVMSEGdata; +BDLVMSEGdata* bd_lvm_segdata_copy (BDLVMSEGdata *data); +void bd_lvm_segdata_free (BDLVMSEGdata *data); + typedef struct BDLVMLVdata { gchar *lv_name; gchar *vg_name; @@ -312,7 +315,7 @@ gboolean bd_lvm_vdo_disable_deduplication (const gchar *vg_name, const gchar *po gboolean bd_lvm_thpool_convert (const gchar *vg_name, const gchar *data_lv, const gchar *metadata_lv, const gchar *name, const BDExtraArg **extra, GError **error); gboolean bd_lvm_cache_pool_convert (const gchar *vg_name, const gchar *data_lv, const gchar *metadata_lv, const gchar *name, const BDExtraArg **extra, GError **error); gboolean bd_lvm_vdo_pool_convert (const gchar *vg_name, const gchar *pool_lv, const gchar *name, guint64 virtual_size, guint64 index_memory, gboolean compression, gboolean deduplication, BDLVMVDOWritePolicy write_policy, const BDExtraArg **extra, GError **error); -gchar* bd_lvm_thlvpoolname (const gchar *vg_name, const gchar *lv_name, GError **error); +gchar* bd_lvm_vdolvpoolname (const gchar *vg_name, const gchar *lv_name, GError **error); const gchar* bd_lvm_get_vdo_operating_mode_str (BDLVMVDOOperatingMode mode, GError **error); const gchar* bd_lvm_get_vdo_compression_state_str (BDLVMVDOCompressionState state, GError **error);