From 69758574a14c9614708409da38af8cc865cd614e Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Thu, 13 Sep 2018 14:55:52 +0200 Subject: [PATCH] INotify.pm: use run_command instead of open for calling diff Signed-off-by: Dominik Csapak --- src/PVE/INotify.pm | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/PVE/INotify.pm b/src/PVE/INotify.pm index dee9a3e..8b5544e 100644 --- a/src/PVE/INotify.pm +++ b/src/PVE/INotify.pm @@ -19,7 +19,8 @@ use PVE::ProcFSTools; use Clone qw(clone); use Linux::Inotify2; use base 'Exporter'; -use JSON; +use JSON; +use Encode qw(encode decode); our @EXPORT_OK = qw(read_file write_file register_file); @@ -56,13 +57,11 @@ sub ccache_compute_diff { my $diff = ''; - open (TMP, "diff -b -N -u '$filename' '$shadow'|"); - - while (my $line = ) { - $diff .= $line; - } - - close (TMP); + my $cmd = ['/usr/bin/diff', '-b', '-N', '-u', $filename, $shadow]; + PVE::Tools::run_command($cmd, noerr => 1, outfunc => sub { + my ($line) = @_; + $diff .= decode('UTF-8', $line) . "\n"; + }); $diff = undef if !$diff; -- 2.39.2