lkml.org 
[lkml]   [2015]   [Dec]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: IO errors after "block: remove bio_get_nr_vecs()"
On Sun, Dec 20, 2015 at 10:41:44AM -0800, Linus Torvalds wrote:
>[..]
> Sadly, without CONFIG_LOCALVERSION_AUTO, there's no way to match up
> the dmesg files (in the same bisection tar-file as the bisection log)
> with the actual versions.

Perhaps we can print the Git revision in a manner independent of
CONFIG_LOCALVERSION_AUTO, using the attached patch. It will be emitted
in the dmesg Linux banner (though not in /proc/version, that's more
interface-ish and may break things).

--
Dan Aloni
From d2d4ab995911e59ba41153fade176ca805ca2db8 Mon Sep 17 00:00:00 2001
From: Dan Aloni <dan@kernelim.com>
Date: Mon, 21 Dec 2015 11:54:18 +0200
Subject: [PATCH] init/version.c: add SCM revision

This adds a 'SCM-*' string to the Linux banner if and only if
source control information was available during the compilation
(such in the case of a Git bisect).
---
Documentation/dontdiff | 1 +
Makefile | 11 +++++++++++
init/version.c | 4 +++-
scripts/setlocalversion | 9 +++++++++
4 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/Documentation/dontdiff b/Documentation/dontdiff
index 8ea834f6b289..3dfda8883b7a 100644
--- a/Documentation/dontdiff
+++ b/Documentation/dontdiff
@@ -227,6 +227,7 @@ timeconst.h
times.h*
trix_boot.h
utsrelease.h*
+scmrevision.h*
vdso-syms.lds
vdso.lds
vdso32-int80-syms.lds
diff --git a/Makefile b/Makefile
index 4e2b18d56091..f966be40dafd 100644
--- a/Makefile
+++ b/Makefile
@@ -977,6 +977,7 @@ endif
prepare2: prepare3 outputmakefile asm-generic

prepare1: prepare2 $(version_h) include/generated/utsrelease.h \
+ include/generated/scmrevision.h \
include/config/auto.conf
$(cmd_crmodverdir)

@@ -1003,6 +1004,13 @@ define filechk_utsrelease.h
(echo \#define UTS_RELEASE \"$(KERNELRELEASE)\";)
endef

+define filechk_scmrevision.h
+ (SCMREV=`./scripts/setlocalversion --only-print`; \
+ if [ "x$$SCMREV" = "x" ] ; \
+ then echo \#define KERNEL_SCM_REVISION \"\" ; \
+ else echo \#define KERNEL_SCM_REVISION \" SCM$$SCMREV\"; fi )
+endef
+
define filechk_version.h
(echo \#define LINUX_VERSION_CODE $(shell \
expr $(VERSION) \* 65536 + 0$(PATCHLEVEL) \* 256 + 0$(SUBLEVEL)); \
@@ -1016,6 +1024,9 @@ $(version_h): $(srctree)/Makefile FORCE
include/generated/utsrelease.h: include/config/kernel.release FORCE
$(call filechk,utsrelease.h)

+include/generated/scmrevision.h: include/config/kernel.release FORCE
+ $(call filechk,scmrevision.h)
+
PHONY += headerdep
headerdep:
$(Q)find $(srctree)/include/ -name '*.h' | xargs --max-args 1 \
diff --git a/init/version.c b/init/version.c
index fe41a63efed6..f9df083db7c8 100644
--- a/init/version.c
+++ b/init/version.c
@@ -11,6 +11,7 @@
#include <linux/uts.h>
#include <linux/utsname.h>
#include <generated/utsrelease.h>
+#include <generated/scmrevision.h>
#include <linux/version.h>
#include <linux/proc_ns.h>

@@ -45,7 +46,8 @@ EXPORT_SYMBOL_GPL(init_uts_ns);
/* FIXED STRINGS! Don't touch! */
const char linux_banner[] =
"Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@"
- LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n";
+ LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION
+ KERNEL_SCM_REVISION "\n";

const char linux_proc_banner[] =
"%s version %s"
diff --git a/scripts/setlocalversion b/scripts/setlocalversion
index 63d91e22ed7c..be6a4cc6c348 100755
--- a/scripts/setlocalversion
+++ b/scripts/setlocalversion
@@ -20,6 +20,10 @@ if test "$1" = "--save-scmversion"; then
scm_only=true
shift
fi
+if test "$1" = "--only-print"; then
+ onlyprint=true
+ shift
+fi
if test $# -gt 0; then
srctree=$1
shift
@@ -132,6 +136,11 @@ collect_files()
echo "$res"
}

+if $only_print; then
+ scm_version
+ exit
+fi
+
if $scm_only; then
if test ! -e .scmversion; then
res=$(scm_version)
--
2.4.3
\
 
 \ /
  Last update: 2015-12-21 12:41    [W:0.096 / U:2.284 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site