[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