ROX-Filer: overwriting a file on an USB drive truncates it
Markus Hoenicka
markus.hoenicka at mhoenicka.de
Thu Nov 29 00:23:24 UTC 2018
Hi,
I've recently upgraded my laptop to:
FreeBSD wombat 11.2-RELEASE-p4 FreeBSD 11.2-RELEASE-p4 #0: Thu Sep 27
08:16:24 UTC 2018
root at amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
I've also updated all installed packages.
I keep running into a nasty file copying bug that does not seem to have
occurred previously. Result is that overwriting an existing file on an
USB drive causes this file to be truncated instead of being overwritten,
which means data loss.
How to reproduce:
After logging in, I start an Xfce session manually:
startxfce4 --with-ck-launch
mount stick in an xterm, as per handbook. Note that I've set up user
mounting of USB drives:
mount -t msdosfs -o -m=644,-M=755 /dev/da0s1 /stick/markus
open source directory (on hard drive) in a ROX-Filer window
open target directory (on usb drive) in another ROX-Filer window
drag&drop a file from source over an existing copy on target
dialog box asks if it is ok to overwrite which I acknowledge
ROX-Filer window shows the correct file size immediately after copying,
and after rescanning the directory. ls -al /stick/markus/targetdir also
shows the correct file size at this point.
umount /stick/markus fails because the device is busy. fstat shows that
the ROX-Filer process keeps it busy
now I can either use umount -f /stick/markus to forcibly unmount the
stick, or I log out of the X session and then use umount /stick/markus
without problems
then mount the stick again as above, or try on a different computer
ls -al /stick/markus/targetdir shows a target file size of zero.
It appears that the new data are never flushed to the disk. I've even
tried to run umount /stick/markus before umount -f /stick/markus, as
this should perform a flush according to the umount man page. This bug
appears to be specific to ROX-Filer. I could not reproduce this using
Thunar, or plain ol' cp. This bug also appears to be specific to USB
target drives, as I cannot reproduce this when overwriting files on the
hard drive. I do not think the problem is related to a faulty file
system on the target drive as I can reproduce this with just about any
thumbdrive and external disk lying around.
I've been using ROX-Filer for ages, but I've noticed that neither
mailing lists nor bug tracker seem to be active. Is it about time to
move on?
thanks
Markus
--
Markus Hoenicka
http://www.mhoenicka.de
AQ score 38
More information about the freebsd-questions
mailing list