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