From c4e0b0c19999d60cfc0cb4133756191b707edecc Mon Sep 17 00:00:00 2001 From: hu-weihua Date: Thu, 28 Jan 2016 02:37:16 -0500 Subject: [PATCH 1/3] fix issue#667 --- xCAT-server/sbin/xcatd | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/xCAT-server/sbin/xcatd b/xCAT-server/sbin/xcatd index 74da551d6..4a878bb4e 100644 --- a/xCAT-server/sbin/xcatd +++ b/xCAT-server/sbin/xcatd @@ -1128,6 +1128,11 @@ unless ($cmdlog_svrpid){ exit(0); } + my @tmp = split "/",$cmdlog_logfile; + splice (@tmp, -1); + my $cmdlog_logfile_path=join("/", @tmp); + mkdir("$cmdlog_logfile_path") unless(-d "$cmdlog_logfile_path"); + unless (open ($cmdlogfile, ">>$cmdlog_logfile")) { xCAT::MsgUtils->trace(0,"E","xcatd: Can't open xcat command log file $cmdlog_logfile,command log process $$ stop."); if($cmdlogsvrlistener){close($cmdlogsvrlistener);} From cb0af287a566e19192832d70dd473c10f5962472 Mon Sep 17 00:00:00 2001 From: hu-weihua Date: Thu, 28 Jan 2016 03:08:24 -0500 Subject: [PATCH 2/3] change mkdir to mkpath --- xCAT-server/sbin/xcatd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xCAT-server/sbin/xcatd b/xCAT-server/sbin/xcatd index 4a878bb4e..a640a4390 100644 --- a/xCAT-server/sbin/xcatd +++ b/xCAT-server/sbin/xcatd @@ -1131,7 +1131,7 @@ unless ($cmdlog_svrpid){ my @tmp = split "/",$cmdlog_logfile; splice (@tmp, -1); my $cmdlog_logfile_path=join("/", @tmp); - mkdir("$cmdlog_logfile_path") unless(-d "$cmdlog_logfile_path"); + mkpath("$cmdlog_logfile_path") unless(-d "$cmdlog_logfile_path"); unless (open ($cmdlogfile, ">>$cmdlog_logfile")) { xCAT::MsgUtils->trace(0,"E","xcatd: Can't open xcat command log file $cmdlog_logfile,command log process $$ stop."); From f9a12dfcd961a92c2d1c8136e7a3befc13cbabae Mon Sep 17 00:00:00 2001 From: hu-weihua Date: Thu, 28 Jan 2016 03:59:15 -0500 Subject: [PATCH 3/3] using dirname function --- xCAT-server/sbin/xcatd | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/xCAT-server/sbin/xcatd b/xCAT-server/sbin/xcatd index a640a4390..03735a006 100644 --- a/xCAT-server/sbin/xcatd +++ b/xCAT-server/sbin/xcatd @@ -51,6 +51,7 @@ my $arch = `uname -p`; unless (($^O =~ /^aix/i) || ($os =~ /^sle[sc]10/) || (($os =~ /^rh.*5$/) && ($arch =~ /ppc64/))){ eval {require IO::Uncompress::Gunzip;} } +use File::Basename; use File::Path; use Time::HiRes qw(sleep); use Thread qw(yield); @@ -1128,9 +1129,7 @@ unless ($cmdlog_svrpid){ exit(0); } - my @tmp = split "/",$cmdlog_logfile; - splice (@tmp, -1); - my $cmdlog_logfile_path=join("/", @tmp); + my $cmdlog_logfile_path=dirname($cmdlog_logfile); mkpath("$cmdlog_logfile_path") unless(-d "$cmdlog_logfile_path"); unless (open ($cmdlogfile, ">>$cmdlog_logfile")) {