|
From: | Pádraig Brady |
Subject: | bug#51433: cp 9.0 sometimes fails with SEEK_DATA/SEEK_HOLE |
Date: | Sun, 31 Oct 2021 16:23:45 +0000 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:84.0) Gecko/20100101 Thunderbird/84.0 |
On 30/10/2021 03:04, Paul Eggert wrote:
On 10/28/21 13:59, Pádraig Brady wrote:I wonder after getting a SEEK_DATA ENXIO, might we correlate we really are at end of file by checking SEEK_HOLE also returns ENXIO?Wouldn't SEEK_HOLE return the current offset, instead of ENXIO? That is, if the underlying data structure is wrong and claims that the rest of the file is a hole, wouldn't SEEK_HOLE merely repeat that information?
What I was thinking is that SEEK_DATA returning ENXIO suggests end of file. If we're not actually at EOF a SEEK_HOLE at SEEK_CUR+1 might not indicate ENXIO. I which case we could do a fdatasync(). All wild speculation though depending on the ZFS bug. If the bug is fixed and we have a good reproducer, we might be able to do something like this to cater for existing buggy ZFS installations. cheers, Pádraig
[Prev in Thread] | Current Thread | [Next in Thread] |