[DRBD-user] Latest test - 0.7 cvs ... feedack ....bang !! :)

Philipp Reisner philipp.reisner at linbit.com
Thu May 6 17:57:30 CEST 2004

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


On Thursday 06 May 2004 15:29, Eugene Crosser wrote:
> Debug: sleeping function called from invalid context at mm/slab.c:1967

I am running out of brown paper bags...


RCS file: /var/lib/cvs/drbd/drbd/drbd/drbd_receiver.c,v
retrieving revision 1.97.2.147
diff -u -p -u -r1.97.2.147 drbd_receiver.c
--- drbd_receiver.c     6 May 2004 13:59:14 -0000       1.97.2.147
+++ drbd_receiver.c     6 May 2004 15:55:43 -0000
@@ -268,11 +268,14 @@ struct Tl_epoch_entry* drbd_get_ee(drbd_
                        prepare_to_wait(&mdev->ee_wait, &wait,
                                        TASK_INTERRUPTIBLE);
                        if(!list_empty(&mdev->free_ee)) break;
+                       spin_unlock_irq(&mdev->ee_lock);
                        if( ( mdev->ee_vacant+mdev->ee_in_use) <
                              mdev->conf.max_buffers ) {
-                               if(drbd_alloc_ee(mdev,GFP_TRY)) break;
+                               if(drbd_alloc_ee(mdev,GFP_TRY)) {
+                                       spin_lock_irq(&mdev->ee_lock);
+                                       break;
+                               }
                        }
-                       spin_unlock_irq(&mdev->ee_lock);
                        drbd_kick_lo(mdev);
                        schedule();
                        spin_lock_irq(&mdev->ee_lock);

-philipp
-- 
: Dipl-Ing Philipp Reisner                      Tel +43-1-8178292-50 :
: LINBIT Information Technologies GmbH          Fax +43-1-8178292-82 :
: Schönbrunnerstr 244, 1120 Vienna, Austria    http://www.linbit.com :



More information about the drbd-user mailing list