[DRBD-cvs] svn commit by phil - r2050 - in trunk: drbd scripts user
- Fixed the user space handlers.
drbd-cvs at lists.linbit.com
drbd-cvs at lists.linbit.com
Thu Jan 19 16:28:45 CET 2006
Author: phil
Date: 2006-01-19 16:28:44 +0100 (Thu, 19 Jan 2006)
New Revision: 2050
Modified:
trunk/drbd/drbd_int.h
trunk/drbd/drbd_receiver.c
trunk/drbd/drbd_worker.c
trunk/scripts/drbd.conf
trunk/user/drbdadm_main.c
trunk/user/drbdadm_parser.y
trunk/user/drbdadm_scanner.fl
Log:
Fixed the user space handlers.
Modified: trunk/drbd/drbd_int.h
===================================================================
--- trunk/drbd/drbd_int.h 2006-01-18 14:13:28 UTC (rev 2049)
+++ trunk/drbd/drbd_int.h 2006-01-19 15:28:44 UTC (rev 2050)
@@ -1074,6 +1074,7 @@
unsigned int cmd, unsigned long arg);
drbd_disks_t drbd_try_outdate_peer(drbd_dev *mdev);
extern long drbd_compat_ioctl(struct file *f, unsigned cmd, unsigned long arg);
+extern int drbd_khelper(drbd_dev *mdev, char* cmd);
// drbd_worker.c
enum RSPauseReason {
Modified: trunk/drbd/drbd_receiver.c
===================================================================
--- trunk/drbd/drbd_receiver.c 2006-01-18 14:13:28 UTC (rev 2049)
+++ trunk/drbd/drbd_receiver.c 2006-01-19 15:28:44 UTC (rev 2050)
@@ -1526,6 +1526,7 @@
int got_mutex=!down_interruptible(&mdev->device_mutex);
if (got_mutex) self = drbd_set_role(mdev,&sec);
if (self || !got_mutex) {
+ drbd_khelper(mdev,"pri-lost-after-sb");
drbd_panic("Panic by after-sb-1pri handler\n");
} else {
WARN("Sucessfully gave up primary role.\n");
@@ -1563,6 +1564,7 @@
int got_mutex=!down_interruptible(&mdev->device_mutex);
if (got_mutex) self = drbd_set_role(mdev,&sec);
if (self || !got_mutex) {
+ drbd_khelper(mdev,"pri-lost-after-sb");
drbd_panic("Panic by after-sb-2pri handler\n");
} else {
WARN("Sucessfully gave up primary role.\n");
@@ -2802,6 +2804,7 @@
drbd_req_free(req);
+ drbd_khelper(mdev,"pri-on-incon-degr");
drbd_panic("Got NegDReply. WE ARE LOST. We lost our up-to-date disk.\n");
// THINK do we have other options, but panic?
@@ -2820,6 +2823,9 @@
drbd_rs_complete_io(mdev,sector);
+
+ // In case we are not primary, we could simply live on...
+
drbd_panic("Got NegRSDReply. WE ARE LOST. We lost our up-to-date disk.\n");
// THINK do we have other options, but panic?
Modified: trunk/drbd/drbd_worker.c
===================================================================
--- trunk/drbd/drbd_worker.c 2006-01-18 14:13:28 UTC (rev 2049)
+++ trunk/drbd/drbd_worker.c 2006-01-19 15:28:44 UTC (rev 2050)
@@ -223,6 +223,7 @@
if ( cancel ||
mdev->state.conn < Connected ||
mdev->state.pdsk <= Inconsistent ) {
+ drbd_khelper(mdev,"pri-on-incon-degr");
drbd_panic("WE ARE LOST. Local IO failure, no peer.\n");
// does not make much sense, but anyways...
Modified: trunk/scripts/drbd.conf
===================================================================
--- trunk/scripts/drbd.conf 2006-01-18 14:13:28 UTC (rev 2049)
+++ trunk/scripts/drbd.conf 2006-01-19 15:28:44 UTC (rev 2050)
@@ -133,9 +133,9 @@
# (=no connection) and has inconsistent data.
pri-on-incon-degr "halt -f";
- # If suddenly the peer presents a higher generation count
- # than we have, and we are primary.
- pri-sees-sec-with-higher-gc "halt -f";
+ # The node is currently primary, but lost the after split brain
+ # auto recovery procedure. As as consequence it should go away.
+ pri-lost-after-sb "halt -f";
# Commands to run in case we need to downgrade the peer's disk
# state to "Outdated". Should be implemented by the superior
Modified: trunk/user/drbdadm_main.c
===================================================================
--- trunk/user/drbdadm_main.c 2006-01-18 14:13:28 UTC (rev 2049)
+++ trunk/user/drbdadm_main.c 2006-01-19 15:28:44 UTC (rev 2050)
@@ -203,7 +203,7 @@
{ "dump-md", admm_generic, 1,1,0 },
{ "set-gi", admm_generic, 0,1,0 },
{ "pri-on-incon-degr", adm_khelper, 0,1,0 },
- { "pri-sees-sec-with-higher-gc", adm_khelper, 0,1,0 },
+ { "pri-lost-after-sb", adm_khelper, 0,1,0 },
{ "outdate-peer", adm_khelper, 0,1,0 },
{ "wait_con_int", adm_wait_ci, 1,0,1 },
{ "sh-resources", sh_resources, 0,0,0 },
Modified: trunk/user/drbdadm_parser.y
===================================================================
--- trunk/user/drbdadm_parser.y 2006-01-18 14:13:28 UTC (rev 2049)
+++ trunk/user/drbdadm_parser.y 2006-01-19 15:28:44 UTC (rev 2050)
@@ -258,7 +258,7 @@
%token <txt> TK_WFC_TIMEOUT TK_DEGR_WFC_TIMEOUT
%token <txt> TK_KO_COUNT TK_ON_DISCONNECT TK_DIALOG_REFRESH
%token <txt> TK_ALLOW_TWO_PRIMARIES
-%token <txt> TK_PRI_ON_INCON_DEGR TK_PRI_SEES_SEC_WITH_HIGHER_GC
+%token <txt> TK_PRI_ON_INCON_DEGR TK_PRI_LOST_AFTER_SB
%token <txt> TK_OUTDATE_PEER TK_CRAM_HMAC_ALG TK_SHARED_SECRET
%token <txt> TK_AFTER_SB_PRI
@@ -464,7 +464,6 @@
;
handler_stmt: TK_PRI_ON_INCON_DEGR TK_STRING { $$=new_opt($1,$2); }
- | TK_PRI_SEES_SEC_WITH_HIGHER_GC TK_STRING
- { $$=new_opt($1,$2); }
+ | TK_PRI_LOST_AFTER_SB TK_STRING { $$=new_opt($1,$2); }
| TK_OUTDATE_PEER TK_STRING { $$=new_opt($1,$2); }
;
Modified: trunk/user/drbdadm_scanner.fl
===================================================================
--- trunk/user/drbdadm_scanner.fl 2006-01-18 14:13:28 UTC (rev 2049)
+++ trunk/user/drbdadm_scanner.fl 2006-01-19 15:28:44 UTC (rev 2050)
@@ -305,12 +305,12 @@
<HANDLERS>{
pri-on-incon-degr do_assign(STRING); CP; return TK_PRI_ON_INCON_DEGR;
- pri-sees-sec-with-higher-gc do_assign(STRING); CP; return TK_PRI_SEES_SEC_WITH_HIGHER_GC;
+ pri-lost-after-sb do_assign(STRING); CP; return TK_PRI_LOST_AFTER_SB;
outdate-peer do_assign(STRING); CP; return TK_OUTDATE_PEER;
{NDELIM} {
expect_error(
"one of 'pri-on-incon-degr|"
- "pri-sees-sec-with-higher-gc|"
+ "pri-lost-after-sb|"
"outdate-peer");
}
}
More information about the drbd-cvs
mailing list