drbd: disambiguation, s/ERR_DISCARD/ERR_DISCARD_IMPOSSIBLE/
authorLars Ellenberg <lars.ellenberg@linbit.com>
Wed, 1 Aug 2012 10:46:20 +0000 (12:46 +0200)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Fri, 9 Nov 2012 13:05:50 +0000 (14:05 +0100)
If for some reason (typically "split-brained" cluster manager)
drbd replica data has diverged, we can chose a victim,
and reconnect using "--discard-my-data", causing the victim
to become sync-target, fetching all changed blocks from the peer.

If we are Primary, we are potentially in use, and we refuse to
"roll back" changes to the data below the page cache and other users.

Rename the error symbol for this to ERR_DISCARD_IMPOSSIBLE.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
drivers/block/drbd/drbd_nl.c
include/linux/drbd.h

index 35bb572a2076ed113b75019dc301757691df4a83..d1073705bf1f4f39a2c9fb051bfe39d2e206c672 100644 (file)
@@ -1829,7 +1829,7 @@ _check_net_options(struct drbd_tconn *tconn, struct net_conf *old_conf, struct n
                                return ERR_STONITH_AND_PROT_A;
                }
                if (mdev->state.role == R_PRIMARY && new_conf->discard_my_data)
-                       return ERR_DISCARD;
+                       return ERR_DISCARD_IMPOSSIBLE;
        }
 
        if (new_conf->on_congestion != OC_BLOCK && new_conf->wire_protocol != DRBD_PROT_A)
index 5171c3530886ea6c480dc24513d64720abbad1ab..0b93e5e2e0646a5301e25d0fc988c704d097c1ad 100644 (file)
@@ -136,7 +136,7 @@ enum drbd_ret_code {
        ERR_AUTH_ALG            = 120,
        ERR_AUTH_ALG_ND         = 121,
        ERR_NOMEM               = 122,
-       ERR_DISCARD             = 123,
+       ERR_DISCARD_IMPOSSIBLE  = 123,
        ERR_DISK_CONFIGURED     = 124,
        ERR_NET_CONFIGURED      = 125,
        ERR_MANDATORY_TAG       = 126,