[DRBD-cvs] r1532 - in trunk: drbd scripts

svn at svn.drbd.org svn at svn.drbd.org
Mon Sep 6 12:44:57 CEST 2004


Author: lars
Date: 2004-09-06 12:44:54 +0200 (Mon, 06 Sep 2004)
New Revision: 1532

Modified:
   trunk/drbd/Makefile
   trunk/drbd/drbd_main.c
   trunk/scripts/adjust_drbd_config_h.sh
Log:
make adjust_drbd_config more robust (not fail the make, if automagic adjustment fails)
don't require special permission for 'make depmod'; other micro fixes

Modified: trunk/drbd/Makefile
===================================================================
--- trunk/drbd/Makefile	2004-09-06 09:41:41 UTC (rev 1531)
+++ trunk/drbd/Makefile	2004-09-06 10:44:54 UTC (rev 1532)
@@ -83,11 +83,8 @@
   greeting:
 	@echo "" ;\
 	echo "    Calling toplevel makefile of kernel source tree, which I believe is in" ;\
-	echo "    KDIR=$(KDIR)"
-  ifeq ($(KDIR_Makefile_PATCHLEVEL),6)
-	@echo "    NOTE: please ignore warnings regarding overriding of SUBDIRS"
-  endif
-	@echo ""
+	echo "    KDIR=$(KDIR)" ; \
+	echo ""
 
   drbd_buildtag.c: $(SRC_FILES)
 	@if grep ^drbd/drbd_buildtag.c: ../Makefile &>/dev/null; then \
@@ -100,9 +97,15 @@
 
   kbuild: drbd_buildtag.c
 	@rm -f .kernelrelease*
-	test -x ../scripts/adjust_drbd_config_h.sh && \
+	-test -x ../scripts/adjust_drbd_config_h.sh && \
 	 KDIR=$(KDIR) ../scripts/adjust_drbd_config_h.sh
+  ifeq ($(KDIR_Makefile_PATCHLEVEL),4)
 	$(MAKE) -C $(KDIR) SUBDIRS=$(DRBDSRC) $(ARCH_UM) modules
+  else
+    # since 2.6.6 (suse: 2.6.5-dunno), this should be:
+    # $(MAKE) -C $(KDIR) M=$(DRBDSRC) $(ARCH_UM) modules
+	$(MAKE) -C $(KDIR) SUBDIRS=$(DRBDSRC) $(ARCH_UM) modules
+  endif
 	@mv .kernelrelease.new .kernelrelease
 	@echo -n "Memorizing module configuration ... "
 	@{ echo -e "#\n# drbd.o was compiled with"          ; \
@@ -165,5 +168,5 @@
 
   depmod:
 	[ -e $(KDIR)/System.map ] && [ -e ./$(MODOBJ) ] && \
-	   /sbin/depmod -F $(KDIR)/System.map -e ./$(MODOBJ) # 2>&1 >/dev/null
+	   /sbin/depmod -F $(KDIR)/System.map -n -e ./$(MODOBJ) # 2>&1 >/dev/null
 endif

Modified: trunk/drbd/drbd_main.c
===================================================================
--- trunk/drbd/drbd_main.c	2004-09-06 09:41:41 UTC (rev 1531)
+++ trunk/drbd/drbd_main.c	2004-09-06 10:44:54 UTC (rev 1532)
@@ -1275,17 +1275,8 @@
 }
 #else
 
-/* ugly ifdef, and only to quieten one compiler warning for now.
- * as 2.6.X moves on, we can probably drop it again.
- */
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,5)
 STATIC void drbd_unplug_fn(request_queue_t *q)
 {
-#else
-STATIC void drbd_unplug_fn(void *data)
-{
-	request_queue_t *q = (request_queue_t*)data;
-#endif
 	drbd_dev *mdev = q->queuedata;
 
 	/* unplug FIRST */

Modified: trunk/scripts/adjust_drbd_config_h.sh
===================================================================
--- trunk/scripts/adjust_drbd_config_h.sh	2004-09-06 09:41:41 UTC (rev 1531)
+++ trunk/scripts/adjust_drbd_config_h.sh	2004-09-06 10:44:54 UTC (rev 1532)
@@ -4,6 +4,14 @@
 # expects KDIR in the environment to be set correctly!
 
 set -e
+sorry() {
+	cat <<___
+	Sorry, automagic adjustment of drdb_config.h failed.
+	For well known 2.6. kernels, no adjustment to the shipped drbd_config is necessary.
+	You need to verify it yourself.
+___
+}
+trap "sorry" 0
 grep_q() { grep "$@" &>/dev/null ; }
 
 # PARANOIA:
@@ -61,7 +69,7 @@
   # 
 
   # do we have mm_inline, and need to include it explicitly?
-  if grep "#define *page_count" $KDIR/include/linux/mm_inline.h &> /dev/null ; then
+  if grep_q "#define *page_count" $KDIR/include/linux/mm_inline.h ; then
     have_mm_inline_h=1
   else
     have_mm_inline_h=0
@@ -104,3 +112,5 @@
 	rm ./linux/drbd_config.h.new
 	echo -e "\n  Using unmodified drbd_config.h\n"
 fi
+trap - 0
+exit 0



More information about the drbd-cvs mailing list