From: Olaf Hering Date: Mon, 11 May 2015 15:33:51 +0000 (+0000) Subject: tools: add configure --with-dumpdir=DIR option X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~3178 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=bf36d0792032a0245e4a17a64c8b9eb9e056f282;p=xen.git tools: add configure --with-dumpdir=DIR option The current base directory /var/xen/dump for domU dumps will be patched to /var/lib/xen/dump by most distros to follow FHS. This change does three things: - change the default from /var/xen/dump to /var/lib/xen/dump - provide a configure option to avoid patching the source. - update docs to refer to the new default location Signed-off-by: Olaf Hering Cc: Ian Jackson Cc: Stefano Stabellini Cc: Ian Campbell Cc: Wei Liu Acked-by: Wei Liu Acked-by: Ian Campbell [ ijc -- s,/var,LOCALSTATEDIR, in help test, ran autogen.sh ] --- diff --git a/Config.mk b/Config.mk index 46928ca36e..b21ccaa25c 100644 --- a/Config.mk +++ b/Config.mk @@ -159,7 +159,7 @@ endef BUILD_MAKE_VARS := sbindir bindir LIBEXEC LIBEXEC_BIN libdir SHAREDIR \ XENFIRMWAREDIR XEN_CONFIG_DIR XEN_SCRIPT_DIR XEN_LOCK_DIR \ - XEN_RUN_DIR XEN_PAGING_DIR + XEN_RUN_DIR XEN_PAGING_DIR XEN_DUMP_DIR buildmakevars2file = $(eval $(call buildmakevars2file-closure,$(1))) define buildmakevars2file-closure diff --git a/INSTALL b/INSTALL index a0f2e7b187..10cf879c8d 100644 --- a/INSTALL +++ b/INSTALL @@ -128,6 +128,10 @@ original xenstored will be used. Valid names are xenstored and oxenstored. --with-xenstored=name +The path where to store core dumps for domUs which are configured with +coredump-destroy or coredump-restart can be specified with this option. + --with-xen-dumpdir=DIR + Instead of starting the tools in dom0 with sysv runlevel scripts they can also be started by systemd. If this option is enabled xenstored will receive the communication socked directly from systemd. So starting it diff --git a/config/Paths.mk.in b/config/Paths.mk.in index ddd72dfb6f..d36504f25f 100644 --- a/config/Paths.mk.in +++ b/config/Paths.mk.in @@ -48,6 +48,7 @@ CONFIG_LEAF_DIR := @CONFIG_LEAF_DIR@ BASH_COMPLETION_DIR := $(CONFIG_DIR)/bash_completion.d XEN_LOCK_DIR := @XEN_LOCK_DIR@ XEN_PAGING_DIR := @XEN_PAGING_DIR@ +XEN_DUMP_DIR := @XEN_DUMP_DIR@ XENFIRMWAREDIR := @XENFIRMWAREDIR@ diff --git a/configure b/configure index 8a084c8942..80b27d60fb 100755 --- a/configure +++ b/configure @@ -594,6 +594,7 @@ stubdom tools xen subdirs +XEN_DUMP_DIR XEN_PAGING_DIR XEN_LOCK_DIR XEN_SCRIPT_DIR @@ -658,6 +659,7 @@ ac_user_opts=' enable_option_checking with_initddir with_sysconfig_leaf_dir +with_xen_dumpdir enable_xen enable_tools enable_stubdom @@ -1297,6 +1299,8 @@ Optional Packages: options for runlevel scripts and daemons such as xenstored. This should be either "sysconfig" or "default". [sysconfig] + --with-xen-dumpdir=DIR Path to directory for domU crash dumps. + [LOCALSTATEDIR/lib/xen/dump] Report bugs to . Xen Hypervisor home page: . @@ -1919,6 +1923,15 @@ fi CONFIG_LEAF_DIR=$config_leaf_dir + +# Check whether --with-xen-dumpdir was given. +if test "${with_xen_dumpdir+set}" = set; then : + withval=$with_xen_dumpdir; xen_dumpdir_path=$withval +else + xen_dumpdir_path=$localstatedir/lib/xen/dump +fi + + if test "$libexecdir" = '${exec_prefix}/libexec' ; then case "$host_os" in *netbsd*) ;; @@ -1968,6 +1981,9 @@ esac XEN_PAGING_DIR=$localstatedir/lib/xen/xenpaging +XEN_DUMP_DIR=$xen_dumpdir_path + + case "$host_cpu" in i[3456]86|x86_64) diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5 index 2267884766..a3e0e2e3af 100644 --- a/docs/man/xl.cfg.pod.5 +++ b/docs/man/xl.cfg.pod.5 @@ -360,12 +360,12 @@ destroy`. =item B -write a "coredump" of the domain to F and then +write a "coredump" of the domain to F and then destroy the domain. =item B -write a "coredump" of the domain to F and then +write a "coredump" of the domain to F and then restart the domain. =back @@ -1707,7 +1707,7 @@ See L for more information. =head1 FILES F -F +F =head1 BUGS diff --git a/docs/man/xl.pod.1 b/docs/man/xl.pod.1 index e16dbf72cd..b2bc362656 100644 --- a/docs/man/xl.pod.1 +++ b/docs/man/xl.pod.1 @@ -280,7 +280,7 @@ Change the domain name of I to I. Dumps the virtual machine's memory for the specified domain to the I specified, without pausing the domain. The dump file will be written to a distribution specific directory for dump files. Such -as: /var/lib/xen/dump or /var/xen/dump. +as: /var/lib/xen/dump. =item B [I<--long>] diff --git a/m4/paths.m4 b/m4/paths.m4 index db74f5533d..63e0f6b4db 100644 --- a/m4/paths.m4 +++ b/m4/paths.m4 @@ -62,6 +62,12 @@ AC_ARG_WITH([sysconfig-leaf-dir], CONFIG_LEAF_DIR=$config_leaf_dir AC_SUBST(CONFIG_LEAF_DIR) +AC_ARG_WITH([xen-dumpdir], + AS_HELP_STRING([--with-xen-dumpdir=DIR], + [Path to directory for domU crash dumps. [LOCALSTATEDIR/lib/xen/dump]]), + [xen_dumpdir_path=$withval], + [xen_dumpdir_path=$localstatedir/lib/xen/dump]) + if test "$libexecdir" = '${exec_prefix}/libexec' ; then case "$host_os" in *netbsd*) ;; @@ -113,4 +119,7 @@ AC_SUBST(XEN_LOCK_DIR) XEN_PAGING_DIR=$localstatedir/lib/xen/xenpaging AC_SUBST(XEN_PAGING_DIR) + +XEN_DUMP_DIR=$xen_dumpdir_path +AC_SUBST(XEN_DUMP_DIR) ]) diff --git a/tools/Makefile b/tools/Makefile index 383d4ca59c..45cb4b24f4 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -58,7 +58,7 @@ build all: subdirs-all .PHONY: install install: subdirs-install - $(INSTALL_DIR) $(DESTDIR)/var/xen/dump + $(INSTALL_DIR) $(DESTDIR)$(XEN_DUMP_DIR) $(INSTALL_DIR) $(DESTDIR)/var/log/xen $(INSTALL_DIR) $(DESTDIR)/var/lib/xen diff --git a/tools/configure b/tools/configure index dfd8175ef0..4c2928dc7b 100755 --- a/tools/configure +++ b/tools/configure @@ -711,6 +711,7 @@ ocamltools monitors githttp rpath +XEN_DUMP_DIR XEN_PAGING_DIR XEN_LOCK_DIR XEN_SCRIPT_DIR @@ -785,6 +786,7 @@ enable_option_checking enable_largefile with_initddir with_sysconfig_leaf_dir +with_xen_dumpdir enable_rpath enable_githttp enable_monitors @@ -1487,6 +1489,8 @@ Optional Packages: options for runlevel scripts and daemons such as xenstored. This should be either "sysconfig" or "default". [sysconfig] + --with-xen-dumpdir=DIR Path to directory for domU crash dumps. + [LOCALSTATEDIR/lib/xen/dump] --with-linux-backend-modules="mod1 mod2" List of Linux backend module or modalias names to be autoloaded on startup. @@ -3883,6 +3887,15 @@ fi CONFIG_LEAF_DIR=$config_leaf_dir + +# Check whether --with-xen-dumpdir was given. +if test "${with_xen_dumpdir+set}" = set; then : + withval=$with_xen_dumpdir; xen_dumpdir_path=$withval +else + xen_dumpdir_path=$localstatedir/lib/xen/dump +fi + + if test "$libexecdir" = '${exec_prefix}/libexec' ; then case "$host_os" in *netbsd*) ;; @@ -3932,6 +3945,9 @@ esac XEN_PAGING_DIR=$localstatedir/lib/xen/xenpaging +XEN_DUMP_DIR=$xen_dumpdir_path + + # Enable/disable options diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 186c4ddea9..c858068b39 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -2324,7 +2324,7 @@ static int handle_domain_death(uint32_t *r_domid, char *corefile; int rc; - if (asprintf(&corefile, "/var/xen/dump/%s", d_config->c_info.name) < 0) { + if (asprintf(&corefile, XEN_DUMP_DIR "/%s", d_config->c_info.name) < 0) { LOG("failed to construct core dump path"); } else { LOG("dumping core to %s", corefile);