[lvm-devel] master - integrity: always default to journal mode

David Teigland teigland at sourceware.org
Tue Sep 1 22:14:27 UTC 2020


Gitweb:        https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=f2c1de783cd1afc522b65f5deb45567c6cb2ffbf
Commit:        f2c1de783cd1afc522b65f5deb45567c6cb2ffbf
Parent:        9a06700017bd2d97ff96854f7acbe4b1c74c2ab3
Author:        David Teigland <teigland at redhat.com>
AuthorDate:    Tue Sep 1 12:53:00 2020 -0500
Committer:     David Teigland <teigland at redhat.com>
CommitterDate: Tue Sep 1 17:12:28 2020 -0500

integrity: always default to journal mode

lvconvert was defaulting to bitmap mode,
and lvcreate was defaulting to journal mode.
---
 lib/metadata/integrity_manip.c   | 15 +++++++++++++++
 lib/metadata/metadata-exported.h |  1 +
 tools/toollib.c                  | 14 --------------
 tools/tools.h                    |  2 --
 4 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/lib/metadata/integrity_manip.c b/lib/metadata/integrity_manip.c
index 3322a2101..290b7a863 100644
--- a/lib/metadata/integrity_manip.c
+++ b/lib/metadata/integrity_manip.c
@@ -303,6 +303,21 @@ int lv_remove_integrity_from_raid(struct logical_volume *lv)
 	return 1;
 }
 
+int integrity_mode_set(const char *mode, struct integrity_settings *settings)
+{
+	if (!mode)
+		settings->mode[0] = DEFAULT_MODE;
+	else if (!strcmp(mode, "bitmap") || !strcmp(mode, "B"))
+		settings->mode[0] = 'B';
+	else if (!strcmp(mode, "journal") || !strcmp(mode, "J"))
+		settings->mode[0] = 'J';
+	else {
+		log_error("Invalid raid integrity mode (use \"bitmap\" or \"journal\")");
+		return 0;
+	}
+	return 1;
+}
+
 static int _set_integrity_block_size(struct cmd_context *cmd, struct logical_volume *lv, int is_active,
 				     struct integrity_settings *settings,
 				     int lbs_4k, int lbs_512, int pbs_4k, int pbs_512)
diff --git a/lib/metadata/metadata-exported.h b/lib/metadata/metadata-exported.h
index db41ca36c..e5c8e4305 100644
--- a/lib/metadata/metadata-exported.h
+++ b/lib/metadata/metadata-exported.h
@@ -1414,5 +1414,6 @@ int lv_has_integrity_recalculate_metadata(struct logical_volume *lv);
 int lv_raid_has_integrity(struct logical_volume *lv);
 int lv_extend_integrity_in_raid(struct logical_volume *lv, struct dm_list *pvh);
 int lv_get_raid_integrity_settings(struct logical_volume *lv, struct integrity_settings **isettings);
+int integrity_mode_set(const char *mode, struct integrity_settings *settings);
 
 #endif
diff --git a/tools/toollib.c b/tools/toollib.c
index eb0de5501..019346ce9 100644
--- a/tools/toollib.c
+++ b/tools/toollib.c
@@ -718,20 +718,6 @@ int vgcreate_params_set_from_args(struct cmd_context *cmd,
 	return 1;
 }
 
-int integrity_mode_set(const char *mode, struct integrity_settings *settings)
-{
-	if (!mode || !strcmp(mode, "bitmap") || !strcmp(mode, "B"))
-		settings->mode[0] = 'B';
-	else if (!strcmp(mode, "journal") || !strcmp(mode, "J"))
-		settings->mode[0] = 'J';
-	else {
-		/* FIXME: the kernel has other modes, should we allow any of those? */
-		log_error("Invalid raid integrity mode (use \"bitmap\" or \"journal\")");
-		return 0;
-	}
-	return 1;
-}
-
 /* Shared code for changing activation state for vgchange/lvchange */
 int lv_change_activate(struct cmd_context *cmd, struct logical_volume *lv,
 		       activation_change_t activate)
diff --git a/tools/tools.h b/tools/tools.h
index befff5708..a0be4bedb 100644
--- a/tools/tools.h
+++ b/tools/tools.h
@@ -212,8 +212,6 @@ unsigned grouped_arg_is_set(const struct arg_values *av, int a);
 const char *grouped_arg_str_value(const struct arg_values *av, int a, const char *def);
 int32_t grouped_arg_int_value(const struct arg_values *av, int a, const int32_t def); 
 
-int integrity_mode_set(const char *mode, struct integrity_settings *settings);
-
 const char *command_name(struct cmd_context *cmd);
 
 int pvmove_poll(struct cmd_context *cmd, const char *pv_name, const char *uuid,




More information about the lvm-devel mailing list