]> granicus.if.org Git - zfs/commit
Create /proc/sys/kernel/spl/gitrev with git hash
authorMatthew Ahrens <mahrens@delphix.com>
Tue, 9 Oct 2018 04:57:02 +0000 (21:57 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 9 Oct 2018 04:57:02 +0000 (21:57 -0700)
commit4cbde2ecbf7c6478bac106fadd6a23f53d538262
tree7589858c7148f5d4c3eea51931457903814c32e1
parentdfbe26750308d757d20af8eb5aefef49ec65d4a8
Create /proc/sys/kernel/spl/gitrev with git hash

The existing mechanisms for determining what code is running in the
kernel do not always correctly report the git hash.  The versions
reported there do not reflect changes made since `configure` was run
(i.e. incremental builds do not update the version) and they are
misleading if git tags are not set up properly.  This applies to
`modinfo zfs`, `dmesg`, and `/sys/module/zfs/version`.

There are complicated requirements on how the existing version is
generated.  Therefore we are leaving that alone, and adding a new
mechanism to record and retrieve the git hash:
`cat /proc/sys/kernel/spl/gitrev`

The gitrev is re-generated at compile time, when running `make`
(including for incremental builds).  The value is the output of `git
describe` (or "unknown" if not in a git repo or there are uncommitted
changes).

We're also removing /proc/sys/kernel/spl/version, which was never very
useful.

Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com>
Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed by: Tim Chase <tim@chase2k.com>
Signed-off-by: Matthew Ahrens <mahrens@delphix.com>
Closes #7931
Closes #7965
Makefile.am
copy-builtin
include/.gitignore [new file with mode: 0644]
include/spl/sys/sysmacros.h
module/spl/spl-generic.c
module/spl/spl-proc.c
module/zfs/spa_history.c
scripts/Makefile.am
scripts/make_gitrev.sh [new file with mode: 0755]