[DRBD-cvs] r1760 - in trunk: drbd testing
svn at svn.drbd.org
svn at svn.drbd.org
Sun Feb 13 20:34:23 CET 2005
Author: phil
Date: 2005-02-13 20:34:19 +0100 (Sun, 13 Feb 2005)
New Revision: 1760
Modified:
trunk/drbd/drbd_int.h
trunk/drbd/drbd_main.c
trunk/drbd/drbd_receiver.c
trunk/drbd/drbd_req.c
trunk/testing/uml-2.6.gdbinit
Log:
A little debugging session. Basic mirroring is working again...
Modified: trunk/drbd/drbd_int.h
===================================================================
--- trunk/drbd/drbd_int.h 2005-02-12 18:14:25 UTC (rev 1759)
+++ trunk/drbd/drbd_int.h 2005-02-13 19:34:19 UTC (rev 1760)
@@ -1400,8 +1400,8 @@
{
spin_lock(&mdev->peer_seq_lock);
mdev->peer_seq = max(mdev->peer_seq, new_seq);
+ spin_unlock(&mdev->peer_seq_lock);
wake_up(&mdev->cstate_wait);
- spin_unlock(&mdev->peer_seq_lock);
}
static inline int peer_seq(drbd_dev* mdev)
Modified: trunk/drbd/drbd_main.c
===================================================================
--- trunk/drbd/drbd_main.c 2005-02-12 18:14:25 UTC (rev 1759)
+++ trunk/drbd/drbd_main.c 2005-02-13 19:34:19 UTC (rev 1760)
@@ -424,7 +424,7 @@
spin_lock_irq(&mdev->tl_lock);
for(i=-1;i<=1;i++ ) {
- slot = mdev->tl_hash + ee_hash_fn(mdev,
+ slot = mdev->ee_hash + ee_hash_fn(mdev,
sector + i*(1<<(HT_SHIFT)));
hlist_for_each_entry(ee, n, slot, colision) {
if( overlaps(drbd_ee_get_sector(ee),
@@ -1614,6 +1614,7 @@
atomic_set(&mdev->unacked_cnt,0);
atomic_set(&mdev->local_cnt,0);
atomic_set(&mdev->resync_locked,0);
+ atomic_set(&mdev->packet_seq,0);
init_MUTEX(&mdev->md_io_mutex);
init_MUTEX(&mdev->data.mutex);
Modified: trunk/drbd/drbd_receiver.c
===================================================================
--- trunk/drbd/drbd_receiver.c 2005-02-12 18:14:25 UTC (rev 1759)
+++ trunk/drbd/drbd_receiver.c 2005-02-13 19:34:19 UTC (rev 1760)
@@ -756,7 +756,6 @@
int epoch_size;
Drbd_Barrier_Packet *p = (Drbd_Barrier_Packet*)h;
- ERR_IF(mdev->state.s.role != Secondary) return FALSE;
ERR_IF(h->length != (sizeof(*p)-sizeof(*h))) return FALSE;
rv = drbd_recv(mdev, h->payload, h->length);
Modified: trunk/drbd/drbd_req.c
===================================================================
--- trunk/drbd/drbd_req.c 2005-02-12 18:14:25 UTC (rev 1759)
+++ trunk/drbd/drbd_req.c 2005-02-13 19:34:19 UTC (rev 1760)
@@ -326,15 +326,6 @@
drbd_end_req(req, RQ_DRBD_SENT, 1, sector);
}
}
- if (!drbd_send_dblock(mdev,req)) {
- if (mdev->state.s.conn >= Connected)
- drbd_force_state(mdev,NS(conn,NetworkFailure));
- dec_ap_pending(mdev);
- drbd_thread_restart_nowait(&mdev->receiver);
- } else if(mdev->conf.wire_protocol == DRBD_PROT_A) {
- dec_ap_pending(mdev);
- drbd_end_req(req, RQ_DRBD_SENT, 1, sector);
- }
} else if (target_area_out_of_sync) {
drbd_read_remote(mdev,req);
} else {
Modified: trunk/testing/uml-2.6.gdbinit
===================================================================
--- trunk/testing/uml-2.6.gdbinit 2005-02-12 18:14:25 UTC (rev 1759)
+++ trunk/testing/uml-2.6.gdbinit 2005-02-13 19:34:19 UTC (rev 1760)
@@ -33,20 +33,41 @@
p $rv->module_core
end
+# for old kernels, worked with linux-2.6.1
+#define linux-ps
+# set $ps_ph_i = 1<<pidhash_shift
+# printf "---TASK--- -PID- --------COMM----------\n"
+# while $ps_ph_i > 0
+# set $ps_ph_i = $ps_ph_i - 1
+# set $ps_plist = &pid_hash[0][$ps_ph_i]
+# set $ps_pitem = $ps_plist->next
+# while $ps_pitem != $ps_plist
+# lx-container-of-struct $ps_pitem pid hash_chain
+# set $ps_pid = $rv
+# set $ps_h = $ps_pid->task_list.next
+# lx-container-of-struct $ps_h task_struct pids[0].pid_chain
+# set $ps_t = $rv
+# printf "%8p %-5d %-20s\n", $ps_t, $ps_pid->nr, $ps_t->comm
+# set $ps_pitem = $ps_pitem->next
+# end
+# end
+#end
+
define linux-ps
set $ps_ph_i = 1<<pidhash_shift
printf "---TASK--- -PID- --------COMM----------\n"
while $ps_ph_i > 0
set $ps_ph_i = $ps_ph_i - 1
- set $ps_plist = &pid_hash[0][$ps_ph_i]
- set $ps_pitem = $ps_plist->next
- while $ps_pitem != $ps_plist
- lx-container-of-struct $ps_pitem pid hash_chain
+ set $ps_pitem = pid_hash[0][$ps_ph_i]->first
+ while $ps_pitem != 0
+ lx-container-of-struct $ps_pitem pid pid_chain
set $ps_pid = $rv
- set $ps_h = $ps_pid->task_list.next
- lx-container-of-struct $ps_h task_struct pids[0].pid_chain
+ set $ps_h = $ps_pid->pid_list.next
+ lx-container-of-struct $ps_h task_struct pids[0].pid_list
set $ps_t = $rv
- printf "%8p %-5d %-20s\n", $ps_t, $ps_pid->nr, $ps_t->comm
+ if $ps_pid->nr != 0
+ printf "%8p %-5d %-20s\n", $ps_t, $ps_pid->nr, $ps_t->comm
+ end
set $ps_pitem = $ps_pitem->next
end
end
More information about the drbd-cvs
mailing list