Subject: Re: [libvirt] [PATCH 3/4] Fix QEMU save/restore with block devices

From: Jim Meyering <[email-masked]>
Date: Sun, 24 Mar 2013 04:03:22 +0100

tags 6004 + notabug
close 6004
thanks

Eric Blake wrote:
> [adding bug-coreutils]
>
> On 04/22/2010 04:37 AM, Daniel P. Berrange wrote:
>>>> - if (virAsprintf(&dest, "exec:%s >>%s 2>/dev/null", argstr,
>>>> safe_target) < 0) {
>>>> +    if (virAsprintf(&dest, "exec:%s | dd of=%s seek=%llub",
>>>> +                    argstr, safe_target, offset) < 0) {
>>>
>>> Don't you still need to silence stderr, particularly since dd writes to
>>> stderr even on success? (2 instances)
>>
>> I didn't want to silence stderr, because I want it to end up in the QEMU
>> logfile if anything goes wrong. So i really need  a way to make dd keep
>> quiet on success, rather than throwing away stderr
>
> Coreutils comes with an extension 'dd status=noxfer' which silences some
> (but not all) output to stderr, but you'd have to test whether you are
> targetting coreutils' dd (if dd comes from somewhere else, like busybox,
> you'll cause a syntax error that prevents dd from doing anything at all).
>
> There was a patch submitted to coreutils [1] that would add
> status=noinfo, but it is currently held up by copyright status and lack
> of documentation.  Maybe I should revive that patch (or rather, write it
> from scratch, to avoid copyright taint).  But even so, you are still up
> against the issue of testing whether you are targetting new-enough dd.
>
> [1] http://lists.gnu.org/archive/html/bug-coreutils/2010-02/msg00161.html
...

As of coreutils-8.20,

  dd now accepts 'status=none' to suppress all informational output.

so I've closed this.