Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
Hello,
drbd_worker.c in drbd-0.7.13:
589 int w_e_end_rsdata_req(drbd_dev *mdev, struct drbd_work *w, int cancel)
(snip)
613 } else {
* 614 ok=drbd_send_ack(mdev,NegRSDReply,e);
615 if (DRBD_ratelimit(5*HZ,5))
* 616 ERR("Sending NegDReply. I guess it gets messy.\n");
617 drbd_io_error(mdev);
618 }
drbd_send_ack() send NegRSDReply but ERR say NegDReply. which is correct?
//
disk error occurred on primary drbd server (on-io-error: detach).
primary server say:
kernel: drbd1: Local IO failed. Detaching...
kernel: drbd1: Sending NegDReply. I guess it gets messy.
kernel: drbd1: Notified peer that my disk is broken.
and secodary got NegRSDReply and say:
kernel: drbd1: Got NegRSDReply. WE ARE LOST. We lost our up-to-date disk.
and secodary server do drbd_panic.
Why drbd do kernel panic on secodary(no error), instead of
primary(disk error)?
Cheers,
--
HIROSE, Masaaki