[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] make a dump directory per DomU
Hi all, I attached a patch to make a dump directory per DomU for crash dump. Currently, xend dumps a core file of a DomU in the directory "/var/xen/dump/", when the DomU has crashed. The patch modifies this directory to "/var/xen/dump/<domain name>/". It enables you to select HDD partition per DomU to dump core by using mount command. Diffstat: XendDomainInfo.py | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) Signed-off-by: Rikiya Ayukawa <ayukawa.rikiya@xxxxxxxxxxxxxx> Best Regards, -- Rikiya Ayukawa diff -r 8af26fef898c tools/python/xen/xend/XendDomainInfo.py --- a/tools/python/xen/xend/XendDomainInfo.py Fri Jul 24 12:08:54 2009 +0100 +++ b/tools/python/xen/xend/XendDomainInfo.py Tue Jul 28 16:49:34 2009 +0900 @@ -31,6 +31,7 @@ import re import copy import os +import stat import traceback from types import StringTypes @@ -39,6 +40,7 @@ from xen.util.blkif import blkdev_uname_to_file, blkdev_uname_to_taptype import xen.util.xsm.xsm as security from xen.util import xsconstants +from xen.util import mkdir from xen.util.pci import serialise_pci_opts, pci_opts_list_to_sxp, \ pci_dict_to_bdf_str, pci_dict_to_xc_str, \ pci_convert_sxp_to_dict, pci_convert_dict_to_sxp, \ @@ -2162,9 +2164,23 @@ """ if not corefile: + # To prohibit directory traversal + based_name = os.path.basename(self.info['name_label']) + + coredir = "/var/xen/dump/%s" % (based_name) + if not os.path.exists(coredir): + try: + mkdir.parents(coredir, stat.S_IRWXU) + except Exception, ex: + log.error("Cannot create directory: %s" % str(ex)) + + if not os.path.isdir(coredir): + # Use former directory to dump core + coredir = '/var/xen/dump' + this_time = time.strftime("%Y-%m%d-%H%M.%S", time.localtime()) - corefile = "/var/xen/dump/%s-%s.%s.core" % (this_time, - self.info['name_label'], self.domid) + corefile = "%s/%s-%s.%s.core" % (coredir, this_time, + self.info['name_label'], self.domid) if os.path.isdir(corefile): raise XendError("Cannot dump core in a directory: %s" % _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |