Subject: Re: bug#36007: double close() of of=file if receiving SIGINT during fdatasync()

From: Hans Henrik Bergan <[email-masked]>
Date: Thu, 30 May 2019 23:50:30 +0200

the issue does not reproduce on a current git master build of dd (
commit 00d72e6122d37bbc32ef0e057c1e847fd8129133 )
, good job :)

(dd is an old build, ./dd is a git master build)
root@1:/temp/coreutils/src# dd if=/dev/zero of=/dev/sda4 bs=10M count=100
iflag=fullblock conv=fdatasync
^C100+0 records in
100+0 records out
1048576000 bytes (1.0 GB, 1000 MiB) copied, 17.3542 s, 60.4 MB/s
dd: closing input file '/dev/zero': Bad file descriptor
root@1:/temp/coreutils/src#
root@1:/temp/coreutils/src#
root@1:/temp/coreutils/src# ./dd if=/dev/zero of=/dev/sda4 bs=10M count=100
iflag=fullblock conv=fdatasync
^C100+0 records in
100+0 records out
1048576000 bytes (1.0 GB, 1000 MiB) copied, 19.0614 s, 55.0 MB/s
root@1:/temp/coreutils/src#

On Thu, 30 May 2019 at 22:56, Paul Eggert <[email-masked]> wrote:

> Thanks for reporting the bug. I installed the attached patch into the
> development version on Savannah, to fix the bug you reported along with
> a closely related bug that I found when looking into your problem.
> Please give this patch a try at your convenience.
>