On Thu, 26 Aug 2021 10:48:15 -0700
Gordon Messmer <gordon.messmer(a)gmail.com> wrote:
On 8/25/21 9:26 PM, Samuel Sieb wrote:
> You could add a "sync" after the copy and before the "umount".
https://utcc.utoronto.ca/~cks/space/blog/unix/TheLegendOfSync
We're getting into myths and legends territory. Running sync before
umount isn't harmful, but umount will flush any dirty buffers, so it
isn't necessary.
I'm not able to reproduce the problem described, though I'm running
Fedora 34. When I attach a USB drive, it is mounted with the "flush"
option. I can copy arbitrarily large file sets to the drive, and the
"cp" command appears to be nearly synchronous. The sequence "time cp
... ; time umount ..." indicates nearly all of the time spent is in
the cp command and umount requires between .2 and .3 seconds.
What are the indications that the copy operation originally reported
was incomplete? Does the "umount" command have any flags? Are there
any errors in "dmesg" after the script runs?
I was not aware of the mount flush option. Just what was needed. Thanks.
The MP3 files that were being transferred were empty.
The problem emerged only recently on a Fedora 32 system that is
untouched since end-of-life, so its not entirely surprising that its
not reproducible, let alone on 34.
dmesg says
FAT-fs (sdb1): Volume was not properly unmounted. Some data may be corrupt. Please run
fsck.
That says it all. Pity I never looked.
Again, thanks.