Date: Sat, 01 Dec 2018 13:33:35 +0000 From: Dave <freebsd01@dgmm.net> To: freebsd-questions@freebsd.org Subject: Re: ROX-Filer: overwriting a file on an USB drive truncates it Message-ID: <39584959.F463k0L8Pm@amd.asgard.uk> In-Reply-To: <4ee20fc51b13465edcec6d8456be7cf0@mhoenicka.de> References: <4ee20fc51b13465edcec6d8456be7cf0@mhoenicka.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday, 29 November 2018 00:23:12 GMT Markus Hoenicka wrote: > 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@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 > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?39584959.F463k0L8Pm>