d6418de057
This patch updates the "zpool status/iostat -c" commands to only run "pre-baked" scripts from the /etc/zfs/zpool.d directory (or wherever you install to). The scripts can only be run from -c as an unprivileged user (unless the ZPOOL_SCRIPTS_AS_ROOT environment var is set by root). This was done to encourage scripts to be written is such a way that normal users can use them, and to be cautious. If your script needs to run a privileged command, consider adding the appropriate line in /etc/sudoers. See zpool(8) for an example of how to do this. The patch also allows the scripts to output custom column names. If the script outputs a line like: name=value then "name" is used for the column name, and "value" is its value. Multiple columns can be specified by outputting multiple lines. Column names and values can have spaces. If the value is empty, a dash (-) is printed instead. After all the "name=value" lines are read (if any), zpool will take the next the next line of output (if any) and print it without a column header. After that, no more lines will be processed. This can be useful for printing errors. Lastly, this patch also disables the -c option with the latency and request size histograms, since it produced awkward output and made the code harder to maintain. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov> Signed-off-by: Tony Hutter <hutter2@llnl.gov> Closes #5852
95 lines
2.5 KiB
Makefile
95 lines
2.5 KiB
Makefile
ACLOCAL_AMFLAGS = -I config
|
|
|
|
include config/rpm.am
|
|
include config/deb.am
|
|
include config/tgz.am
|
|
|
|
SUBDIRS = include rpm
|
|
if CONFIG_USER
|
|
SUBDIRS += udev etc man scripts lib tests cmd contrib
|
|
endif
|
|
if CONFIG_KERNEL
|
|
SUBDIRS += module
|
|
|
|
extradir = @prefix@/src/zfs-$(VERSION)
|
|
extra_HEADERS = zfs.release.in zfs_config.h.in
|
|
|
|
kerneldir = @prefix@/src/zfs-$(VERSION)/$(LINUX_VERSION)
|
|
nodist_kernel_HEADERS = zfs.release zfs_config.h module/$(LINUX_SYMBOLS)
|
|
endif
|
|
|
|
AUTOMAKE_OPTIONS = foreign
|
|
EXTRA_DIST = autogen.sh copy-builtin
|
|
EXTRA_DIST += config/config.awk config/rpm.am config/deb.am config/tgz.am
|
|
EXTRA_DIST += META DISCLAIMER COPYRIGHT README.markdown OPENSOLARIS.LICENSE
|
|
|
|
distclean-local::
|
|
-$(RM) -R autom4te*.cache
|
|
-find . \( -name SCCS -o -name BitKeeper -o -name .svn -o -name CVS \
|
|
-o -name .pc -o -name .hg -o -name .git \) -prune -o \
|
|
\( -name '*.orig' -o -name '*.rej' -o -name '*~' \
|
|
-o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
|
|
-o -name '.*.rej' -o -name '.script-config' -o -size 0 \
|
|
-o -name '*%' -o -name '.*.cmd' -o -name 'core' \
|
|
-o -name 'Makefile' -o -name 'Module.symvers' \
|
|
-o -name '*.order' -o -name '*.markers' \) \
|
|
-type f -print | xargs $(RM)
|
|
|
|
dist-hook:
|
|
sed -i 's/Release:[[:print:]]*/Release: $(RELEASE)/' \
|
|
$(distdir)/META
|
|
|
|
checkstyle: cstyle shellcheck flake8 commitcheck
|
|
|
|
commitcheck:
|
|
@if git rev-parse --git-dir > /dev/null 2>&1; then \
|
|
scripts/commitcheck.sh; \
|
|
fi
|
|
|
|
cstyle:
|
|
@find ${top_srcdir} -name '*.[hc]' ! -name 'zfs_config.*' \
|
|
! -name '*.mod.c' -type f -exec scripts/cstyle.pl -cpP {} \+
|
|
|
|
shellcheck:
|
|
@if type shellcheck > /dev/null 2>&1; then \
|
|
shellcheck --exclude=SC1090 --format=gcc scripts/paxcheck.sh \
|
|
scripts/zloop.sh \
|
|
scripts/zfs-tests.sh \
|
|
scripts/zfs.sh \
|
|
scripts/commitcheck.sh \
|
|
$$(find cmd/zed/zed.d/*.sh -type f) \
|
|
$$(find cmd/zpool/zpool.d/* -executable); \
|
|
fi
|
|
|
|
lint: cppcheck paxcheck
|
|
|
|
cppcheck:
|
|
@if type cppcheck > /dev/null 2>&1; then \
|
|
cppcheck --inline-suppr --quiet --force --error-exitcode=2 \
|
|
${top_srcdir}; \
|
|
fi
|
|
|
|
paxcheck:
|
|
@if type scanelf > /dev/null 2>&1; then \
|
|
scripts/paxcheck.sh ${top_srcdir}; \
|
|
fi
|
|
|
|
flake8:
|
|
@if type flake8 > /dev/null 2>&1; then \
|
|
flake8 ${top_srcdir}; \
|
|
fi
|
|
|
|
ctags:
|
|
$(RM) tags
|
|
find $(top_srcdir) -name .git -prune -o -name '*.[hc]' | xargs ctags
|
|
|
|
etags:
|
|
$(RM) TAGS
|
|
find $(top_srcdir) -name .pc -prune -o -name '*.[hc]' | xargs etags -a
|
|
|
|
tags: ctags etags
|
|
|
|
pkg: @DEFAULT_PACKAGE@
|
|
pkg-kmod: @DEFAULT_PACKAGE@-kmod
|
|
pkg-utils: @DEFAULT_PACKAGE@-utils
|