[DRBD-cvs] drbd by phil; * Make drbd_receiver.c compile on Linux-...

drbd-user@lists.linbit.com drbd-user@lists.linbit.com
Mon, 10 May 2004 12:49:33 +0200 (CEST)


DRBD CVS committal

Author  : phil
Module  : drbd

Dir     : drbd/drbd


Modified Files:
      Tag: rel-0_7-branch
	drbd_main.c drbd_receiver.c 


Log Message:
* Make drbd_receiver.c compile on Linux-2.4.x again
* Make drbd_main.c compile again at all :)

===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/drbd_main.c,v
retrieving revision 1.73.2.168
retrieving revision 1.73.2.169
diff -u -3 -r1.73.2.168 -r1.73.2.169
--- drbd_main.c	10 May 2004 09:12:59 -0000	1.73.2.168
+++ drbd_main.c	10 May 2004 10:49:28 -0000	1.73.2.169
@@ -899,7 +899,8 @@
 		drbd_set_out_of_sync(mdev,
 				     drbd_req_get_sector(req),
 				     drbd_req_get_size(req));
-		drbd_end_req(req,RQ_DRBD_SENT,ERF_NOTLD|1, drbd_req_get_sector(item));
+		drbd_end_req(req,RQ_DRBD_SENT,ERF_NOTLD|1, 
+			     drbd_req_get_sector(req));
 	}
 	spin_lock(&mdev->send_task_lock);
 	mdev->send_task=NULL;
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/drbd_receiver.c,v
retrieving revision 1.97.2.150
retrieving revision 1.97.2.151
diff -u -3 -r1.97.2.150 -r1.97.2.151
--- drbd_receiver.c	7 May 2004 15:18:28 -0000	1.97.2.150
+++ drbd_receiver.c	10 May 2004 10:49:28 -0000	1.97.2.151
@@ -243,6 +243,34 @@
 
 STATIC int _drbd_process_ee(drbd_dev *mdev,struct list_head *head);
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+STATIC void prepare_to_wait(wait_queue_head_t *q, wait_queue_t *wait, int state)
+{
+	unsigned long flags;
+
+	wait->flags &= ~WQ_FLAG_EXCLUSIVE;
+	spin_lock_irqsave(&q->lock, flags);
+	if (list_empty(&wait->task_list))
+		__add_wait_queue(q, wait);
+	set_current_state(state);
+	spin_unlock_irqrestore(&q->lock, flags);
+}
+
+STATIC void finish_wait(wait_queue_head_t *q, wait_queue_t *wait)
+{
+	unsigned long flags;
+
+	__set_current_state(TASK_RUNNING);
+
+	spin_lock_irqsave(&q->lock, flags);
+	list_del_init(&wait->task_list);
+	spin_unlock_irqrestore(&q->lock, flags);
+}
+
+#define DEFINE_WAIT(name)	DECLARE_WAITQUEUE(name,current)
+
+#endif
+
 /**
  * drbd_get_ee: Returns an Tl_epoch_entry; might sleep. Fails only if
  * a signal comes in.