Skip site navigation (1)Skip section navigation (2)
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>