[DRBD-cvs] svn commit by phil - r2133 - trunk/user - Included the flags in the md-dump format.

drbd-cvs at lists.linbit.com drbd-cvs at lists.linbit.com
Thu Apr 6 12:12:52 CEST 2006


Author: phil
Date: 2006-04-06 12:12:51 +0200 (Thu, 06 Apr 2006)
New Revision: 2133

Modified:
   trunk/user/drbd_endian.h
   trunk/user/drbdmeta.c
   trunk/user/drbdmeta_parser.h
   trunk/user/drbdmeta_scanner.fl
Log:
Included the flags in the md-dump format.


Modified: trunk/user/drbd_endian.h
===================================================================
--- trunk/user/drbd_endian.h	2006-04-05 18:01:11 UTC (rev 2132)
+++ trunk/user/drbd_endian.h	2006-04-06 10:12:51 UTC (rev 2133)
@@ -166,16 +166,14 @@
  */
 
 #if BITS_PER_LONG == 32
-# define X32 "%X"
-//# define X64 "%llX"
+# define X32(a) "%"#a"X"
 # define X64(a) "%"#a"llX"
 # define D32 "%d"
 # define D64 "%lld"
 # define U32 "%u"
 # define U64 "%llu"
 #elif BITS_PER_LONG == 64
-# define X32 "%X"
-//# define X64 "%lX"
+# define X32(a) "%"#a"X"
 # define X64(a) "%"#a"lX"
 # define D32 "%d"
 # define D64 "%ld"

Modified: trunk/user/drbdmeta.c
===================================================================
--- trunk/user/drbdmeta.c	2006-04-05 18:01:11 UTC (rev 2132)
+++ trunk/user/drbdmeta.c	2006-04-06 10:12:51 UTC (rev 2133)
@@ -1681,13 +1681,16 @@
 		for (i = 0; i < GEN_CNT_SIZE; i++) {
 			printf(" %d;", cfg->md.gc[i]);
 		}
+		printf("\n}\n");
 	} else { // >= 08
 		printf("uuid {\n   ");
 		for ( i=Current ; i<UUID_SIZE ; i++ ) {
 			printf(" 0x"X64(016)";", cfg->md.uuid[i]);
 		}
+		printf("\n");
+		printf("    flags 0x"X32(08)";\n",cfg->md.flags);
+		printf("}\n");
 	}
-	printf("\n}\n");
 
 	if (format_version(cfg) >= Drbd_07) {
 		printf("la-size-sect "U64";\n", cfg->md.la_sect);
@@ -1748,12 +1751,14 @@
 			cfg->md.gc[i] = yylval.u64;
 		}
 		EXP('}');
-	} else { // >? 08
+	} else { // >= 08
 		EXP(TK_UUID); EXP('{');
 		for ( i=Current ; i<UUID_SIZE ; i++ ) {
 			EXP(TK_U64); EXP(';');
 			cfg->md.uuid[i] = yylval.u64;
 		}
+		EXP(TK_FLAGS); EXP(TK_U32); EXP(';');
+		cfg->md.flags = (u32)yylval.u64;
 		EXP('}');
 	}
 	EXP(TK_LA_SIZE); EXP(TK_NUM); EXP(';');

Modified: trunk/user/drbdmeta_parser.h
===================================================================
--- trunk/user/drbdmeta_parser.h	2006-04-05 18:01:11 UTC (rev 2132)
+++ trunk/user/drbdmeta_parser.h	2006-04-06 10:12:51 UTC (rev 2133)
@@ -12,6 +12,7 @@
 enum yytokentype {
 	TK_STRING = 258,
 	TK_U64,
+	TK_U32,
 	TK_NUM,
 	TK_GC,
 	TK_BM,
@@ -20,7 +21,8 @@
 	TK_LA_SIZE,
 	TK_BM_BYTE_PER_BIT,
 	TK_DEVICE_UUID,
-	TK_TIMES
+	TK_TIMES,
+	TK_FLAGS,
 };
 
 /* avoid compiler warnings about implicit declaration */

Modified: trunk/user/drbdmeta_scanner.fl
===================================================================
--- trunk/user/drbdmeta_scanner.fl	2006-04-05 18:01:11 UTC (rev 2132)
+++ trunk/user/drbdmeta_scanner.fl	2006-04-06 10:12:51 UTC (rev 2133)
@@ -18,6 +18,7 @@
 COMMENT		\#[^\n]*
 NUM		[0-9]{1,9}
 U64		0x[0-9A-Fa-f]{16}
+U32		0x[0-9A-Fa-f]{8}
 OP		[{};]
 STRING		\"[^\"]*\"
 
@@ -28,6 +29,7 @@
 {OP}		DP; return yytext[0];
 {STRING}	unescape(); yylval.txt=yytext; DP; return TK_STRING; 
 {U64}		yylval.u64 = strto_u64(yytext, NULL, 16); DP; return TK_U64;
+{U32}		yylval.u64 = strto_u64(yytext, NULL, 16); DP; return TK_U32;
 {NUM}		yylval.u64 = strto_u64(yytext, NULL, 10); DP; return TK_NUM;
 gc		DP; return TK_GC;
 bm		DP; return TK_BM;
@@ -37,6 +39,7 @@
 bm-byte-per-bit DP; return TK_BM_BYTE_PER_BIT;
 device-uuid	DP; return TK_DEVICE_UUID;
 times		DP; return TK_TIMES;
+flags		DP; return TK_FLAGS;
 
 %%
 



More information about the drbd-cvs mailing list