Adam Duck <[EMAIL PROTECTED]> wrote: > Hi, I'm using RedHat Linux 7.3 with > $> rpm -q fileutils > fileutils-4.1-4 > > Today I moved a file from an ext3-partition to a fat32 one. The Problem > was that there wasn't enough diskspace on the fat32-partition. `mv' > moved it, truncated the file and didn't signal any errors. Of course, > it deleted the file from my ext3-partition ;-(. > > I have found this thread in geocrawler, but it only says something > about NFS, not fat32 ... > > >http://www.geocrawler.com/mail/thread.php3?subject=Fileutils+2.1+-+corrupt+files+on+NFS+filesystems&list=379 > > So, is this a bug or a "feature"? Or can't you simply do anything > about it because of the partition being fat32?
[sorry, this got a bit long] Thanks for the report. I am unable to reproduce it using the 2.4.17 kernel, mv-4.1, and a file system I just created on a floppy disk: # mkdosfs -F 32 /dev/fd0 mkdosfs 2.8 (28 Feb 2001) # mkdir /tmp/fat # mount -t vfat /dev/fd0 /tmp/fat # head --bytes=2m < /dev/zero > /tmp/2meg # mv /tmp/2meg /tmp/fat mv: writing `/tmp/fat/2meg': No space left on device [Exit 1] I'm not sure what changes are in RedHat's fileutils-4.1-4. You may want to try the latest test release: ftp://alpha.gnu.org/gnu/fetish/fileutils-4.1.5.tar.gz Could this be a problem with the FAT support in your kernel? Or maybe it's a problem with FAT only on scsi or ide disks. You might be able to tell which by running the mv command under strace and/or ltrace. strace -o mv-log mv big-file /fat/partition ltrace -S -o mv-log2 mv big-file /fat/partition Then please send me the `mv-log*' files. BTW, I did notice a minor problem in that this command doesn't report the system error (No space left on device) as it should: # ltrace -S -o log ./head --bytes=2m < /dev/zero > /tmp/fat/too-big ./head: write error Here's a snippet of the log that appears to show fwrite_unlocked returning 512, even though the underlying SYS_write failed: [all SYS_write calls before this succeeded] fwrite_unlocked(0xbfffec40, 1, 4096, 0x4013b380, 0 <unfinished ...> SYS_write(1, "", 512) = 512 SYS_write(1, "", 3584) = 3584 <... fwrite_unlocked resumed> ) = 4096 read(0, <unfinished ...> SYS_read(0, "", 4096) = 4096 <... read resumed> "", 4096) = 4096 fwrite_unlocked(0xbfffec40, 1, 4096, 0x4013b380, 0 <unfinished ...> SYS_write(1, "", 512) = 512 SYS_write(1, "", 3584) = -28 <... fwrite_unlocked resumed> ) = 512 read(0, <unfinished ...> SYS_read(0, "", 4096) = 4096 <... read resumed> "", 4096) = 4096 [all SYS_write calls (to stdout) after this failed] I haven't investigated, so don't know if this is a problem with the GNU C library (I'm using libc-2.2.5) or with the underlying kernel. I've Cc'd the libc list. If this is a kernel problem, would you please forward this to them? Jim _______________________________________________ Bug-fileutils mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-fileutils