I met the issue discribed below when I want to extract an archive in an existing regular file. Note that it works well if the file is a block device.
I do not think this is the appropriate fix. It is much like a workaround. I need your help to fix it properly.
I would like to know why it is interresting to make such a test on the modification time of the file.
Regards,
Gaël
There is an issue when an archive is extracted to a regular file that
exists already.
# Extract the archive.caibx to dest.bin (dest.bin does not exist yet)
$ casync extract http://localhost/archive.caibx dest.bin
# Extract the archive.caibx to existing dest.bin
$ casync extract http://localhost/archive.caibx dest.bin --log-level debug --verbose
Acquiring http://localhost/archive.caibx...
Setting min/avg/max chunk size: 16384 / 65536 / 262144
Failed to run decoder step: Stale file handle
Failed to run synchronizer: Stale file handle
The error raised is a difference in the modify time.
In the case of the destination regular file exists (ie. the second call
in the example above), the path goes to several fallocate/write calls
that causes the modification time to be updated and leads to that error.
This commit drops the check for the modification time.
Dear Maintainer(s),
I met the issue discribed below when I want to extract an archive in an existing regular file. Note that it works well if the file is a block device.
I do not think this is the appropriate fix. It is much like a workaround. I need your help to fix it properly.
I would like to know why it is interresting to make such a test on the modification time of the file.
Regards, Gaël
There is an issue when an archive is extracted to a regular file that exists already.
The error raised is a difference in the modify time.
In the case of the destination regular file exists (ie. the second call in the example above), the path goes to several fallocate/write calls that causes the modification time to be updated and leads to that error.
This commit drops the check for the modification time.