diff --git a/xCAT-server/lib/xcat/plugins/xen.pm b/xCAT-server/lib/xcat/plugins/xen.pm index 3556197e0..287580666 100644 --- a/xCAT-server/lib/xcat/plugins/xen.pm +++ b/xCAT-server/lib/xcat/plugins/xen.pm @@ -568,7 +568,9 @@ sub guestcmd { sub preprocess_request { my $request = shift; - if ($request->{_xcatdest}) { return [$request]; } #exit if preprocessed + #if already preprocessed, go straight to request + if ($request->{_xcatpreprocessed}->[0] == 1) { return [$request]; } + my $callback=shift; my @requests; @@ -609,6 +611,8 @@ sub preprocess_request { my $reqcopy = {%$request}; $reqcopy->{node} = $sn->{$snkey}; $reqcopy->{'_xcatdest'} = $snkey; + $reqcopy->{_xcatpreprocessed}->[0] = 1; + push @requests, $reqcopy; } return \@requests;