Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
> > > then do > > > cd drbd-8.0.8/drbd > > > make KDIR=/usr/src/linux-*/bla/blub EXTRA_CFLAGS=-g > > > and on the resulting drbd.ko, do > > > gdb --se=drbd.ko -ex 'list *(drbd_disconnect+0x1a6 -10)' -ex 'list > > > *(drbd_disconnect+0x1a6)' -ex quit > > > you don't need to downgrade, > you only need to build that module with the "-g" flag, > and do the above gdb magic. > then I know which code lines to look at :) Oh yes, you're just using the debug info of the _locally_ built module! Below is the gdb output, hope that helps. If you need anything else for debugging, just let me know. Walter .../drbd/drbd-8.0.8/drbd #gdb --se=drbd.ko -ex 'list *(drbd_disconnect+0x1a6 -10)' -ex 'list *(drbd_disconnect+0x1a6)' -ex quit GNU gdb 6.6.50.20070726-cvs Copyright (C) 2007 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i586-suse-linux"... Using host libthread_db library "/lib/libthread_db.so.1". 0x83cc is in drbd_disconnect (/usr/local/src/kernel/drbd/drbd-8.0.8/drbd/drbd_receiver.c:2757). 2752 * w_make_resync_request etc. which may still be on the worker queue 2753 * to be "canceled" */ 2754 set_bit(WORK_PENDING,&mdev->flags); 2755 prev_work_done.cb = w_prev_work_done; 2756 drbd_queue_work(&mdev->data.work,&prev_work_done); 2757 wait_event(mdev->misc_wait, !test_bit(WORK_PENDING,&mdev->flags)); 2758 2759 if ( mdev->p_uuid ) { 2760 kfree(mdev->p_uuid); 2761 mdev->p_uuid = NULL; 0x83d6 is in drbd_disconnect (/usr/local/src/kernel/drbd/drbd-8.0.8/drbd/drbd_receiver.c:2757). 2752 * w_make_resync_request etc. which may still be on the worker queue 2753 * to be "canceled" */ 2754 set_bit(WORK_PENDING,&mdev->flags); 2755 prev_work_done.cb = w_prev_work_done; 2756 drbd_queue_work(&mdev->data.work,&prev_work_done); 2757 wait_event(mdev->misc_wait, !test_bit(WORK_PENDING,&mdev->flags)); 2758 2759 if ( mdev->p_uuid ) { 2760 kfree(mdev->p_uuid); 2761 mdev->p_uuid = NULL; -- Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger