[DRBD-cvs] drbd by lars; fixed: since we use force_signal, we no ...

drbd-user@lists.linbit.com drbd-user@lists.linbit.com
Tue, 18 May 2004 13:15:27 +0200 (CEST)


DRBD CVS committal

Author  : lars
Module  : drbd

Dir     : drbd/drbd


Modified Files:
      Tag: rel-0_7-branch
	drbd_compat_wrappers.h drbd_dsender.c drbd_fs.c drbd_int.h 
	drbd_main.c drbd_proc.c drbd_receiver.c drbd_req-2.4.c 


Log Message:
fixed:
since we use force_signal, we no longer need recalc_signpending_tsk
but only recalc_signpending, which is exported.
probably there is a missing #ifdef LINUX_VERSION_CODE < 2,4,21,
but I'll ignore this for now.

and, with the defines for module_put/get it compiles again on recent 2.4, too.

===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/Attic/drbd_compat_wrappers.h,v
retrieving revision 1.1.2.42
retrieving revision 1.1.2.43
diff -u -3 -r1.1.2.42 -r1.1.2.43
--- drbd_compat_wrappers.h	13 May 2004 10:01:58 -0000	1.1.2.42
+++ drbd_compat_wrappers.h	18 May 2004 11:15:21 -0000	1.1.2.43
@@ -3,6 +3,9 @@
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
 
+#define __module_get  __MOD_INC_USE_COUNT
+#define   module_put  __MOD_DEC_USE_COUNT
+
 // b_end_io handlers
 extern void drbd_md_io_complete     (struct buffer_head *bh, int uptodate);
 extern void enslaved_read_bi_end_io (struct buffer_head *bh, int uptodate);
@@ -275,6 +278,7 @@
 }
 
 #else
+// LINUX_VERSION_CODE > 2,5,0
 
 #include <linux/buffer_head.h> // for fsync_bdev
 
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/Attic/drbd_dsender.c,v
retrieving revision 1.1.2.109
retrieving revision 1.1.2.110
diff -u -3 -r1.1.2.109 -r1.1.2.110
--- drbd_dsender.c	18 May 2004 09:00:20 -0000	1.1.2.109
+++ drbd_dsender.c	18 May 2004 11:15:21 -0000	1.1.2.110
@@ -27,9 +27,7 @@
 
  */
 
-#ifdef HAVE_AUTOCONF
-#include <linux/autoconf.h>
-#endif
+#include <linux/config.h>
 #ifdef CONFIG_MODVERSIONS
 #include <linux/modversions.h>
 #endif
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/drbd_fs.c,v
retrieving revision 1.28.2.91
retrieving revision 1.28.2.92
diff -u -3 -r1.28.2.91 -r1.28.2.92
--- drbd_fs.c	17 May 2004 12:55:32 -0000	1.28.2.91
+++ drbd_fs.c	18 May 2004 11:15:21 -0000	1.28.2.92
@@ -30,9 +30,8 @@
 
  */
 
-#ifdef HAVE_AUTOCONF
-#include <linux/autoconf.h>
-#endif
+#include <linux/config.h>
+#include <linux/module.h>
 #ifdef CONFIG_MODVERSIONS
 #include <linux/modversions.h>
 #endif
@@ -46,9 +45,7 @@
 #include <linux/drbd.h>
 #include "drbd_int.h"
 
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,3,0)
 #include <linux/blkpg.h>
-#endif
 
 ONLY_IN_26(
 /* see get_sb_bdev and bd_claim */
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/drbd_int.h,v
retrieving revision 1.58.2.161
retrieving revision 1.58.2.162
diff -u -3 -r1.58.2.161 -r1.58.2.162
--- drbd_int.h	12 May 2004 10:00:47 -0000	1.58.2.161
+++ drbd_int.h	18 May 2004 11:15:21 -0000	1.58.2.162
@@ -30,6 +30,7 @@
 #include <linux/types.h>
 #include <linux/version.h>
 #include <linux/list.h>
+#include <linux/sched.h>
 #include "lru_cache.h"
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
@@ -192,17 +193,11 @@
 #ifdef SIGHAND_HACK
 # define LOCK_SIGMASK(task,flags)   spin_lock_irqsave(&task->sighand->siglock, flags)
 # define UNLOCK_SIGMASK(task,flags) spin_unlock_irqrestore(&task->sighand->siglock, flags)
-# define RECALC_SIGPENDING(TSK)     (recalc_sigpending_tsk(TSK))
-
-// defined in drbd_main.c,
-// copied from redhat's kernel-2.4.20-13.9 kernel/signal.c
-// to avoid a recompile of the redhat kernel
-inline void recalc_sigpending_tsk(struct task_struct *t);
-
+# define RECALC_SIGPENDING()        recalc_sigpending();
 #else
 # define LOCK_SIGMASK(task,flags)   spin_lock_irqsave(&task->sigmask_lock, flags)
 # define UNLOCK_SIGMASK(task,flags) spin_unlock_irqrestore(&task->sigmask_lock, flags)
-# define RECALC_SIGPENDING(TSK)     (recalc_sigpending(TSK))
+# define RECALC_SIGPENDING()        recalc_sigpending(current);
 #endif
 
 #if defined(DBG_SPINLOCKS) && defined(__SMP__)
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/drbd_main.c,v
retrieving revision 1.73.2.175
retrieving revision 1.73.2.176
diff -u -3 -r1.73.2.175 -r1.73.2.176
--- drbd_main.c	18 May 2004 09:00:20 -0000	1.73.2.175
+++ drbd_main.c	18 May 2004 11:15:22 -0000	1.73.2.176
@@ -33,9 +33,7 @@
 
  */
 
-#ifdef HAVE_AUTOCONF
-#include <linux/autoconf.h>
-#endif
+#include <linux/config.h>
 #ifdef CONFIG_MODVERSIONS
 #include <linux/modversions.h>
 #endif
@@ -561,7 +559,7 @@
 	LOCK_SIGMASK(current,flags);
 	oldset = current->blocked;
 	sigfillset(&current->blocked);
-	RECALC_SIGPENDING(current);
+	RECALC_SIGPENDING();
 	UNLOCK_SIGMASK(current,flags);
 	return oldset;
 }
@@ -573,7 +571,7 @@
 	// _never_ propagate this to anywhere...
 	sigdelset(&current->pending.signal, DRBD_SIG);
 	current->blocked = oldset;
-	RECALC_SIGPENDING(current);
+	RECALC_SIGPENDING();
 	UNLOCK_SIGMASK(current,flags);
 }
 
@@ -2304,60 +2302,6 @@
 {
 	mdev->gen_cnt[order]++;
 }
-
-#if defined(SIGHAND_HACK) && defined(MODULE)
-
-/* copied from linux-2.6/kernel/signal.c
- * because recalc_sigpending_tsk is not exported,
- * and we still don't use the kernel mechanisms to send signals */
-
-#include <asm/signal.h> // for _NSIG_WORDS
-
-/*
- * Re-calculate pending state from the set of locally pending
- * signals, globally pending signals, and blocked signals.
- */
-static inline int has_pending_signals(sigset_t *signal, sigset_t *blocked)
-{
-        unsigned long ready;
-        long i;
-
-        switch (_NSIG_WORDS) {
-        default:
-                for (i = _NSIG_WORDS, ready = 0; --i >= 0 ;)
-                        ready |= signal->sig[i] &~ blocked->sig[i];
-                break;
-
-        case 4: ready  = signal->sig[3] &~ blocked->sig[3];
-                ready |= signal->sig[2] &~ blocked->sig[2];
-                ready |= signal->sig[1] &~ blocked->sig[1];
-                ready |= signal->sig[0] &~ blocked->sig[0];
-                break;
-
-        case 2: ready  = signal->sig[1] &~ blocked->sig[1];
-                ready |= signal->sig[0] &~ blocked->sig[0];
-                break;
-
-        case 1: ready  = signal->sig[0] &~ blocked->sig[0];
-        }
-        return ready != 0;
-}
-
-#define PENDING(p,b) has_pending_signals(&(p)->signal, (b))
-
-inline void recalc_sigpending_tsk(struct task_struct *t)
-{
-        if (t->signal->group_stop_count > 0 ||
-            PENDING(&t->pending, &t->blocked) ||
-            PENDING(&t->signal->shared_pending, &t->blocked))
-		NOT_IN_26(t->sigpending = 1;)
-		ONLY_IN_26(set_tsk_thread_flag(t, TIF_SIGPENDING);)
-        else
-		NOT_IN_26(t->sigpending = 0;)
-		ONLY_IN_26(clear_tsk_thread_flag(t, TIF_SIGPENDING);)
-}
-
-#endif
 
 module_init(drbd_init)
 module_exit(drbd_cleanup)
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/drbd_proc.c,v
retrieving revision 1.8.2.25
retrieving revision 1.8.2.26
diff -u -3 -r1.8.2.25 -r1.8.2.26
--- drbd_proc.c	18 May 2004 09:00:20 -0000	1.8.2.25
+++ drbd_proc.c	18 May 2004 11:15:22 -0000	1.8.2.26
@@ -27,9 +27,7 @@
 
  */
 
-#ifdef HAVE_AUTOCONF
-#include <linux/autoconf.h>
-#endif
+#include <linux/config.h>
 #ifdef CONFIG_MODVERSIONS
 #include <linux/modversions.h>
 #endif
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/drbd_receiver.c,v
retrieving revision 1.97.2.156
retrieving revision 1.97.2.157
diff -u -3 -r1.97.2.156 -r1.97.2.157
--- drbd_receiver.c	17 May 2004 12:55:32 -0000	1.97.2.156
+++ drbd_receiver.c	18 May 2004 11:15:22 -0000	1.97.2.157
@@ -30,9 +30,7 @@
  */
 
 
-#ifdef HAVE_AUTOCONF
-#include <linux/autoconf.h>
-#endif
+#include <linux/config.h>
 #ifdef CONFIG_MODVERSIONS
 #include <linux/modversions.h>
 #endif
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/drbd_req-2.4.c,v
retrieving revision 1.33.2.77
retrieving revision 1.33.2.78
diff -u -3 -r1.33.2.77 -r1.33.2.78
--- drbd_req-2.4.c	17 May 2004 12:55:32 -0000	1.33.2.77
+++ drbd_req-2.4.c	18 May 2004 11:15:22 -0000	1.33.2.78
@@ -24,9 +24,7 @@
 
  */
 
-#ifdef HAVE_AUTOCONF
-#include <linux/autoconf.h>
-#endif
+#include <linux/config.h>
 #ifdef CONFIG_MODVERSIONS
 #include <linux/modversions.h>
 #endif