[lvm-devel] master - segtypes: Further segtype macros.

Alasdair Kergon agk at fedoraproject.org
Fri Aug 5 13:00:54 UTC 2016


Gitweb:        http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=b66fa91c46f88029eb730f07524d2c09a4ded559
Commit:        b66fa91c46f88029eb730f07524d2c09a4ded559
Parent:        b1b0b134ecd55fad004d56301c52b32234db3c9a
Author:        Alasdair G Kergon <agk at redhat.com>
AuthorDate:    Fri Aug 5 14:00:08 2016 +0100
Committer:     Alasdair G Kergon <agk at redhat.com>
CommitterDate: Fri Aug 5 14:00:40 2016 +0100

segtypes: Further segtype macros.

---
 lib/metadata/lv_manip.c |    2 ++
 lib/metadata/segtype.c  |    2 +-
 lib/metadata/segtype.h  |   14 ++++++++++++++
 3 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index a465c4c..d74c571 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -119,6 +119,7 @@ enum {
 	LV_TYPE_RAID10,
 	LV_TYPE_RAID4,
 	LV_TYPE_RAID5,
+	LV_TYPE_RAID5_N,
 	LV_TYPE_RAID5_LA,
 	LV_TYPE_RAID5_RA,
 	LV_TYPE_RAID5_LS,
@@ -169,6 +170,7 @@ static const char *_lv_type_names[] = {
 	[LV_TYPE_RAID10] =				SEG_TYPE_NAME_RAID10,
 	[LV_TYPE_RAID4] =				SEG_TYPE_NAME_RAID4,
 	[LV_TYPE_RAID5] =				SEG_TYPE_NAME_RAID5,
+	[LV_TYPE_RAID5_N] =				SEG_TYPE_NAME_RAID5_N,
 	[LV_TYPE_RAID5_LA] =				SEG_TYPE_NAME_RAID5_LA,
 	[LV_TYPE_RAID5_RA] =				SEG_TYPE_NAME_RAID5_RA,
 	[LV_TYPE_RAID5_LS] =				SEG_TYPE_NAME_RAID5_LS,
diff --git a/lib/metadata/segtype.c b/lib/metadata/segtype.c
index 35823d9..b66ab02 100644
--- a/lib/metadata/segtype.c
+++ b/lib/metadata/segtype.c
@@ -47,7 +47,7 @@ struct segment_type *get_segtype_from_flag(struct cmd_context *cmd, uint64_t fla
 		if (flag & segtype->flags)
 			return segtype;
 
-	log_error(INTERNAL_ERROR "Unrecognised segment type flag 0x%" PRIx64, flag);
+	log_error(INTERNAL_ERROR "Unrecognised segment type flag 0x%016" PRIx64, flag);
 
 	return NULL;
 }
diff --git a/lib/metadata/segtype.h b/lib/metadata/segtype.h
index 0da2d94..2fafa19 100644
--- a/lib/metadata/segtype.h
+++ b/lib/metadata/segtype.h
@@ -90,6 +90,7 @@ struct dev_manager;
 #define SEG_TYPE_NAME_RAID10		"raid10"
 #define SEG_TYPE_NAME_RAID4		"raid4"
 #define SEG_TYPE_NAME_RAID5		"raid5"
+#define SEG_TYPE_NAME_RAID5_N		"raid5_n"
 #define SEG_TYPE_NAME_RAID5_LA		"raid5_la"
 #define SEG_TYPE_NAME_RAID5_LS		"raid5_ls"
 #define SEG_TYPE_NAME_RAID5_RA		"raid5_ra"
@@ -98,6 +99,11 @@ struct dev_manager;
 #define SEG_TYPE_NAME_RAID6_NC		"raid6_nc"
 #define SEG_TYPE_NAME_RAID6_NR		"raid6_nr"
 #define SEG_TYPE_NAME_RAID6_ZR		"raid6_zr"
+#define SEG_TYPE_NAME_RAID6_LA_6	"raid6_la_6"
+#define SEG_TYPE_NAME_RAID6_LS_6	"raid6_ls_6"
+#define SEG_TYPE_NAME_RAID6_RA_6	"raid6_ra_6"
+#define SEG_TYPE_NAME_RAID6_RS_6	"raid6_rs_6"
+#define SEG_TYPE_NAME_RAID6_N_6		"raid6_n_6"
 
 #define segtype_is_linear(segtype)	(!strcmp(segtype->name, SEG_TYPE_NAME_LINEAR))
 #define segtype_is_striped_target(segtype)	((segtype)->flags & SEG_STRIPED_TARGET ? 1 : 0)
@@ -114,6 +120,7 @@ struct dev_manager;
 #define segtype_is_raid4(segtype)	((segtype)->flags & SEG_RAID4 ? 1 : 0)
 #define segtype_is_any_raid5(segtype)	((segtype)->flags & \
 					 (SEG_RAID5_LS|SEG_RAID5_LA|SEG_RAID5_RS|SEG_RAID5_RA|SEG_RAID5_N) ? 1 : 0)
+#define segtype_is_raid5_n(segtype)	((segtype)->flags & SEG_RAID5_N ? 1 : 0)
 #define segtype_is_raid5_la(segtype)	((segtype)->flags & SEG_RAID5_LA ? 1 : 0)
 #define segtype_is_raid5_ra(segtype)	((segtype)->flags & SEG_RAID5_RA ? 1 : 0)
 #define segtype_is_raid5_ls(segtype)	((segtype)->flags & SEG_RAID5_LS ? 1 : 0)
@@ -123,8 +130,11 @@ struct dev_manager;
 					  SEG_RAID6_LA_6|SEG_RAID6_LS_6|SEG_RAID6_RA_6|SEG_RAID6_RS_6|SEG_RAID6_N_6) ? 1 : 0)
 #define segtype_is_raid6_nc(segtype)	((segtype)->flags & SEG_RAID6_NC ? 1 : 0)
 #define segtype_is_raid6_nr(segtype)	((segtype)->flags & SEG_RAID6_NR ? 1 : 0)
+#define segtype_is_raid6_n_6(segtype)	((segtype)->flags & SEG_RAID6_N_6 ? 1 : 0)
 #define segtype_is_raid6_zr(segtype)	((segtype)->flags & SEG_RAID6_ZR ? 1 : 0)
+#define segtype_is_any_raid10(segtype)	((segtype)->flags & SEG_RAID10 ? 1 : 0)
 #define segtype_is_raid10(segtype)	((segtype)->flags & SEG_RAID10 ? 1 : 0)
+#define segtype_is_raid10_near(segtype)	segtype_is_raid10(segtype)
 #define segtype_is_raid_with_meta(segtype)	(segtype_is_raid(segtype) && !segtype_is_raid0(segtype))
 #define segtype_is_snapshot(segtype)	((segtype)->flags & SEG_SNAPSHOT ? 1 : 0)
 #define segtype_is_striped(segtype)	((segtype)->flags & SEG_AREAS_STRIPED ? 1 : 0)
@@ -154,6 +164,7 @@ struct dev_manager;
 #define seg_is_raid1(seg)	segtype_is_raid1((seg)->segtype)
 #define seg_is_raid4(seg)	segtype_is_raid4((seg)->segtype)
 #define seg_is_any_raid5(seg)	segtype_is_any_raid5((seg)->segtype)
+#define seg_is_raid5_n(seg)	segtype_is_raid5_n((seg)->segtype)
 #define seg_is_raid5_la(seg)	segtype_is_raid5_la((seg)->segtype)
 #define seg_is_raid5_ra(seg)	segtype_is_raid5_ra((seg)->segtype)
 #define seg_is_raid5_ls(seg)	segtype_is_raid5_ls((seg)->segtype)
@@ -162,7 +173,10 @@ struct dev_manager;
 #define seg_is_raid6_zr(seg)	segtype_is_raid6_zr((seg)->segtype)
 #define seg_is_raid6_nr(seg)	segtype_is_raid6_nr((seg)->segtype)
 #define seg_is_raid6_nc(seg)	segtype_is_raid6_nc((seg)->segtype)
+#define seg_is_raid6_n_6(seg)	segtype_is_raid6_n_6((seg)->segtype)
+#define seg_is_any_raid10(seg)	segtype_is_any_raid10((seg)->segtype)
 #define seg_is_raid10(seg)	segtype_is_raid10((seg)->segtype)
+#define seg_is_raid10_near(seg)	segtype_is_raid10_near((seg)->segtype)
 #define seg_is_raid_with_meta(seg)	segtype_is_raid_with_meta((seg)->segtype)
 #define seg_is_replicator(seg)	((seg)->segtype->flags & SEG_REPLICATOR ? 1 : 0)
 #define seg_is_replicator_dev(seg) ((seg)->segtype->flags & SEG_REPLICATOR_DEV ? 1 : 0)




More information about the lvm-devel mailing list