On 08/04/10 08:58, Richard W.M. Jones wrote:
>From 07f4b20ae959069fca41756b0dc103ec5fa99754 Mon Sep 17 00:00:00
2001
From: Richard Jones <rjones(a)redhat.com>
Date: Thu, 8 Apr 2010 08:48:38 +0100
Subject: [PATCH 1/2] Fix tar-in command hangs when running out of disk space
(RHBZ#580246).
The problem was this sequence of events:
(1) File transfer goes through OK.
(2) pclose returns failure (because 'tar' subprocess failed)
(3) We try to cancel the transfer by calling cancel_receive.
Step (3) fails because the transfer (as far as the library is
concerned) has succeeded, so causing a hang.
The more fundamental reason why we see steps (1) and (2) is that
'tar' does NOT fail immediately if there is a write error. Instead
it continues reading and discarding the input until the end of the
input before giving "Error exit delayed from previous errors".
IMHO this is a bug with tar, since an ENOSPC write error should
be fatal for tar.
ACK.
Matt
--
Matthew Booth, RHCA, RHCSS
Red Hat Engineering, Virtualisation Team
M: +44 (0)7977 267231
GPG ID: D33C3490
GPG FPR: 3733 612D 2D05 5458 8A8A 1600 3441 EA19 D33C 3490