[DRBD-cvs] r1455 - in trunk: . drbd drbd/linux user
drbd-user@lists.linbit.com
drbd-user@lists.linbit.com
Mon, 26 Jul 2004 18:07:44 +0200 (CEST)
Author: lars
Date: 2004-07-26 18:07:43 +0200 (Mon, 26 Jul 2004)
New Revision: 1455
Modified:
trunk/Makefile
trunk/drbd/Makefile
trunk/drbd/Makefile-2.4
trunk/drbd/Makefile-2.6
trunk/drbd/drbd_main.c
trunk/drbd/drbd_proc.c
trunk/drbd/drbd_receiver.c
trunk/drbd/linux/drbd_config.h
trunk/user/Makefile
trunk/user/drbdadm_main.c
trunk/user/drbdsetup.c
Log:
- add auto-generated drbd/drbd_buildtag.c, which defines the function of that name,
which returns "SVN Revision: `svnversion -n .` build by $USER@$HOST, `date`"
- quiten compiler warnings with 2.4.X headers
(likely(some_pointer) "... interger from pointer without a cast ... " )
Modified: trunk/Makefile
===================================================================
--- trunk/Makefile 2004-07-24 18:51:43 UTC (rev 1454)
+++ trunk/Makefile 2004-07-26 16:07:43 UTC (rev 1455)
@@ -17,12 +17,15 @@
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
#
+# TODO move some of the more cryptic bash scriptlets here into scripts/*
+# and call those from here. -- lge
+
#PREFIX = /usr/local
SUBDIRS = user scripts benchmark documentation drbd #testing
ALLSUBDIRS = user scripts benchmark documentation drbd testing
-REL_VERSION := $(shell sed -ne '/REL_VERSION/{s/^.*"\(.*\) svn .*/\1/;p;q;}' drbd/linux/drbd_config.h)
+REL_VERSION := $(shell sed -ne '/REL_VERSION/{s/^[^"]*"\([^ "]*\).*/\1/;p;q;}' drbd/linux/drbd_config.h)
ifdef FORCE
#
# NOTE to generate a tgz even if too lazy to update the changelogs,
@@ -87,9 +90,30 @@
up2date=false; fi ; \
$$up2date
+# XXX this is newly created whenever the toplevel makefile does something.
+# however it is NOT updated when you just do a make in user/ or drbd/ ...
+#
+# update of drbd_buildtag.c is forced:
+.PHONY: drbd/drbd_buildtag.c
+drbd/drbd_buildtag.c:
+ @is_tarball=`test -e .svn/. && echo false || echo true`; \
+ set -e; exec > $@.new; \
+ echo -e "/* automatically generated. DO NOT EDIT. */"; \
+ echo -e "const char * drbd_buildtag(void)\n{"; \
+ if $$is_tarball; then \
+ if ! test -e $@ ; then \
+ echo >&2 "your DRBD source tree is broken. unpack again."; \
+ exit 1; \
+ fi; \
+ grep return $@ ; \
+ else \
+ echo -ne "\treturn \"SVN Revision: "; svnversion -n .; echo \"; \
+ fi ; \
+ echo -e "\t\t\" build by $$USER@$$HOSTNAME, `date "+%F %T"`\";\n}"; \
+ mv $@{.new,}
+
# update of .filelist is forced:
.PHONY: .filelist
-
.filelist:
@ svn info >/dev/null || { echo "you need a svn checkout to do this." ; false ; }
@find $$(svn st -v | sed '/^?/d;s/^.\{8\} \+[0-9]\+ \+[0-9]\+ [a-z]\+ *//;') \
@@ -99,21 +123,11 @@
@find documentation -name "[^.]*.[58]" -o -name "*.html" | \
sed "s/^/drbd-$(DIST_VERSION)\//" >> .filelist ;\
echo drbd-$(DIST_VERSION)/drbd_config.h >> .filelist ;\
+ echo drbd-$(DIST_VERSION)/drbd/drbd_buildtag.c >> .filelist ;\
echo drbd-$(DIST_VERSION)/.filelist >> .filelist ;\
for d in documentation/{ja,pt_BR}; do test -e $$d/Makefile && echo drbd-$(DIST_VERSION)/$$d/Makefile >> .filelist ; done
@echo "./.filelist updated."
-update.filelist.cvs:
- cvs status | grep -o "/drbd/drbd/[^,]*" | \
- sed "s/Attic\///; \
- s/\/drbd\/drbd/drbd-$(DIST_VERSION)/;" > .filelist ;\
- [ -s .filelist ] # assert there is something in .filelist now
- find documentation -name "[^.]*.[58]" -o -name "*.html" | \
- sed "s/^/drbd-$(DIST_VERSION)\//" >> .filelist ;\
- echo drbd-$(DIST_VERSION)/drbd_config.h >> .filelist ;\
- echo drbd-$(DIST_VERSION)/.filelist >> .filelist ;\
- for d in documentation/{ja,pt_BR}; do test -e $$d/Makefile && echo drbd-$(DIST_VERSION)/$$d/Makefile >> .filelist ; done
-
tgz: .filelist
ln -sf drbd/linux/drbd_config.h drbd_config.h
rm -f drbd-$(DIST_VERSION)
@@ -126,8 +140,16 @@
tgz: check_changelogs_up2date doc
endif
-tarball: distclean doc tgz
+check_all_committed:
+ @modified=`svn st -q`; \
+ if test -n "$$modified" ; then \
+ echo "$$modified"; \
+ false; \
+ fi
+tarball: check_all_committed distclean doc tgz
+all tools doc .filelist: drbd/drbd_buildtag.c
+
KDIR := $(shell echo /lib/modules/`uname -r`/build)
KVER := $(shell \
echo -e "\#include <linux/version.h>\ndrbd_kernel_release UTS_RELEASE" | \
Modified: trunk/drbd/Makefile
===================================================================
--- trunk/drbd/Makefile 2004-07-24 18:51:43 UTC (rev 1454)
+++ trunk/drbd/Makefile 2004-07-26 16:07:43 UTC (rev 1455)
@@ -81,7 +81,11 @@
endif
@echo ""
- kbuild:
+ drbd_buildtag.c:
+ @echo "you probably need to do a 'make' in DRBDs toplevel directory.";\
+ false
+
+ kbuild: drbd_buildtag.c
@rm -f .kernelrelease*
$(MAKE) -C $(KDIR) SUBDIRS=$(DRBDSRC) $(ARCH_UM) modules
@mv .kernelrelease.new .kernelrelease
Modified: trunk/drbd/Makefile-2.4
===================================================================
--- trunk/drbd/Makefile-2.4 2004-07-24 18:51:43 UTC (rev 1454)
+++ trunk/drbd/Makefile-2.4 2004-07-26 16:07:43 UTC (rev 1455)
@@ -1,5 +1,5 @@
-drbd-objs := drbd_bitmap.o drbd_fs.o drbd_proc.o drbd_worker.o \
- drbd_receiver.o drbd_req.o drbd_actlog.o \
+drbd-objs := drbd_buildtag.o drbd_bitmap.o drbd_fs.o drbd_proc.o \
+ drbd_worker.o drbd_receiver.o drbd_req.o drbd_actlog.o \
lru_cache.o mempool-2.4.o drbd_main.o
obj-$(CONFIG_BLK_DEV_DRBD) += drbd.o
Modified: trunk/drbd/Makefile-2.6
===================================================================
--- trunk/drbd/Makefile-2.6 2004-07-24 18:51:43 UTC (rev 1454)
+++ trunk/drbd/Makefile-2.6 2004-07-26 16:07:43 UTC (rev 1455)
@@ -1,4 +1,4 @@
-drbd-objs := drbd_bitmap.o drbd_fs.o drbd_proc.o drbd_worker.o \
- drbd_receiver.o drbd_req.o drbd_actlog.o \
+drbd-objs := drbd_buildtag.o drbd_bitmap.o drbd_fs.o drbd_proc.o \
+ drbd_worker.o drbd_receiver.o drbd_req.o drbd_actlog.o \
lru_cache.o drbd_main.o
obj-$(CONFIG_BLK_DEV_DRBD) += drbd.o
Modified: trunk/drbd/drbd_main.c
===================================================================
--- trunk/drbd/drbd_main.c 2004-07-24 18:51:43 UTC (rev 1454)
+++ trunk/drbd/drbd_main.c 2004-07-26 16:07:43 UTC (rev 1455)
@@ -44,6 +44,7 @@
#include <linux/file.h>
#include <linux/proc_fs.h>
#include <linux/init.h>
+#include <linux/mm.h>
#include <linux/slab.h>
#include <linux/devfs_fs_kernel.h>
@@ -1718,12 +1719,14 @@
drbd_proc = NULL; // play safe for drbd_cleanup
drbd_conf = kmalloc(sizeof(drbd_dev)*minor_count,GFP_KERNEL);
- if (likely(drbd_conf)) memset(drbd_conf,0,sizeof(drbd_dev)*minor_count);
+ if (likely(drbd_conf!=NULL))
+ memset(drbd_conf,0,sizeof(drbd_dev)*minor_count);
else goto Enomem;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
drbd_sizes = kmalloc(sizeof(int)*minor_count,GFP_KERNEL);
- if (likely(drbd_sizes)) memset(drbd_sizes,0,sizeof(int)*minor_count);
+ if (likely(drbd_sizes!=NULL))
+ memset(drbd_sizes,0,sizeof(int)*minor_count);
else goto Enomem;
drbd_blocksizes = kmalloc(sizeof(int)*minor_count,GFP_KERNEL);
if (unlikely(!drbd_blocksizes)) goto Enomem;
@@ -1854,6 +1857,7 @@
printk(KERN_INFO DEVICE_NAME ": initialised. "
"Version: " REL_VERSION " (api:%d/proto:%d)\n",
API_VERSION,PRO_VERSION);
+ printk(KERN_INFO DEVICE_NAME ": %s\n", drbd_buildtag());
printk(KERN_INFO DEVICE_NAME": registered as block device major %d\n", major_nr);
return 0; // Success!
Modified: trunk/drbd/drbd_proc.c
===================================================================
--- trunk/drbd/drbd_proc.c 2004-07-24 18:51:43 UTC (rev 1454)
+++ trunk/drbd/drbd_proc.c 2004-07-26 16:07:43 UTC (rev 1455)
@@ -182,8 +182,8 @@
int rlen, i;
const char *sn;
- rlen = sprintf(buf, "version: " REL_VERSION " (api:%d/proto:%d)\n\n",
- API_VERSION,PRO_VERSION);
+ rlen = sprintf(buf, "version: " REL_VERSION " (api:%d/proto:%d)\n%s\n",
+ API_VERSION,PRO_VERSION, drbd_buildtag());
/*
cs .. connection state
Modified: trunk/drbd/drbd_receiver.c
===================================================================
--- trunk/drbd/drbd_receiver.c 2004-07-24 18:51:43 UTC (rev 1454)
+++ trunk/drbd/drbd_receiver.c 2004-07-26 16:07:43 UTC (rev 1455)
@@ -38,6 +38,7 @@
#include <linux/version.h>
#include <linux/fs.h>
#include <linux/file.h>
+#include <linux/mm.h>
#include <linux/slab.h>
#include <linux/smp_lock.h>
#include <linux/pkt_sched.h>
Modified: trunk/drbd/linux/drbd_config.h
===================================================================
--- trunk/drbd/linux/drbd_config.h 2004-07-24 18:51:43 UTC (rev 1454)
+++ trunk/drbd/linux/drbd_config.h 2004-07-26 16:07:43 UTC (rev 1455)
@@ -20,7 +20,9 @@
#ifndef DRBD_CONFIG_H
#define DRBD_CONFIG_H
-#define REL_VERSION "0.7.0 svn $Rev$"
+extern const char * drbd_buildtag(void);
+
+#define REL_VERSION "0.7.0"
#define API_VERSION 74
#define PRO_VERSION 74
Modified: trunk/user/Makefile
===================================================================
--- trunk/user/Makefile 2004-07-24 18:51:43 UTC (rev 1454)
+++ trunk/user/Makefile 2004-07-26 16:07:43 UTC (rev 1455)
@@ -20,11 +20,15 @@
CFLAGS = -c -Wall -I../drbd
CC = gcc
+drbdadm-obj = drbdadm_scanner.o drbdadm_parser.o drbdadm_main.o \
+ drbdadm_adjust.o ../drbd/drbd_buildtag.o
+
+drbdsetup-obj = drbdsetup.o ../drbd/drbd_buildtag.o
+
all: drbdsetup drbdadm
-drbdadm: drbdadm_scanner.o drbdadm_parser.o drbdadm_main.o drbdadm_adjust.o
- $(CC) -o drbdadm drbdadm_scanner.o drbdadm_parser.o drbdadm_main.o \
- drbdadm_adjust.o
+drbdadm: $(drbdadm-obj)
+ $(CC) -o $@ $^
drbdadm_scanner.c: drbdadm_scanner.fl drbdadm_parser.h
flex -s -odrbdadm_scanner.c drbdadm_scanner.fl
@@ -37,8 +41,8 @@
drbdadm_parser.c: drbdadm_parser.y drbdadm.h
bison -d -o drbdadm_parser.c drbdadm_parser.y
-drbdsetup: drbdsetup.o
- $(CC) -o drbdsetup drbdsetup.o
+drbdsetup: $(drbdsetup-obj)
+ $(CC) -o $@ $^
clean:
rm -f drbdadm_scanner.c
Modified: trunk/user/drbdadm_main.c
===================================================================
--- trunk/user/drbdadm_main.c 2004-07-24 18:51:43 UTC (rev 1454)
+++ trunk/user/drbdadm_main.c 2004-07-26 16:07:43 UTC (rev 1455)
@@ -776,7 +776,8 @@
}
}
- printf("\nVersion: "REL_VERSION" (api:%d)\n",API_VERSION);
+ printf("\nVersion: "REL_VERSION" (api:%d)\n%s\n",
+ API_VERSION, drbd_buildtag());
exit(E_usage);
}
Modified: trunk/user/drbdsetup.c
===================================================================
--- trunk/user/drbdsetup.c 2004-07-24 18:51:43 UTC (rev 1454)
+++ trunk/user/drbdsetup.c 2004-07-26 16:07:43 UTC (rev 1455)
@@ -371,7 +371,8 @@
if(i < ARRY_SIZE(dh_names)-1) printf(",");
}
- printf("\n\nVersion: "REL_VERSION" (api:%d)\n",API_VERSION);
+ printf("\n\nVersion: "REL_VERSION" (api:%d)\n%s\n",
+ API_VERSION, drbd_buildtag());
if (addinfo)
printf("\n%s\n",addinfo);