GNOME Bugzilla – Bug 78486
Unable to copy files to FAT(16) file systems
Last modified: 2005-02-03 10:58:42 UTC
When you mount a floppy disk as msdos type and try to copy files with nautilus to the floppy disk you receive a "Invalid Parameters" while copying dialog.
FYI, I can't duplicate this with 1.1.11.
*** Bug 87353 has been marked as a duplicate of this bug. ***
I had exactly the same experience with the GNOME 2.0 Nautilus. I could copy files to the floppy using cp in an xterm perfectly, and with other filemanagers (such as MC), but Nautilus couldn't copy files to the floppy.
I don't see this and no new info -> Closing.
*** Bug 134959 has been marked as a duplicate of this bug. ***
Reopening this bug and setting appropriate fields since it has been reproduced in nautilus-2.4.2
This problem still exists in Nautilus 2.6.0 (i tried updating the version field below!). Bug 136959 has much more detailed information. Running a strace gives this relevant info: [pid 6452] open("/mnt/floppy/.vfs-write.tmp", O_WRONLY|O_CREAT|O_TRUNC|O_EXCL|O_LARGEFILE, 0600 <unfinished ...> Then: me@eleven ~ $ cp /home/me/.audacity /mnt/floppy cp: cannot create regular file `/mnt/floppy/.audacity': Invalid argument I think it's safe to say that msdos file systems don't like dot files, which nautilus is trying to create before copying the file. I think this bug should be marked as High priority, this sort of thing matters a lot to Joe User (or Jill User in my case ;)).
Oops. That should be Bug 134959 with the detailed information.
I have investigated this problem further and found that the problem is actually in gnome-vfs, specifically in the function gnome_vfs_destination_is_writable in libgnomevfs/gnome-vfs-xfer.c. gnome-vfs writes the temporary file .vfs-write.tmp to check the writability of the destination. Files preceeded by a dot are not valid on FAT16 volumes, so the write fails. I have solved my particular problem by instead using FAT32 formatted floppies, which do allow files preceded by a . I'll leave it up to whoever owns the bug to move this bug to gnome-vfs or close it as appropriate.
This bug still exists in Nautilus 2.8.0. Will anyone fix it?
*** Bug 159006 has been marked as a duplicate of this bug. ***
Moving to gnome-vfs based on Jon's comments.
Is there really any reason to use a dotfile as the temporary file? It seems just using a name like 'vfs-tmp' or whatever would solve this problem.
I like the idea above of not using a dotfile! (Just got bitten by this trying to copy files to a usb flash drive which was FAT16 formatted.)
*** Bug 144887 has been marked as a duplicate of this bug. ***
I just changed the subject to better fit the bug.
Created attachment 36901 [details] [review] Patch to fix the issue I am not so sure if we really need to dup the URI there or if we could just remove the const from the parameter. Do we return the right error? Should we return the error if gnome_vfs_get_file_info_uri fails? I think this makes kinda sense because if we can't get the file info then we have very little chance that we can write to this dir (also I am not so sure if this is true for remote filesystems)
Using names like vfs-tmp is not interesting - such file is visible by Nautilus. Then it should be better to do inplace copying. There is a more complicated alternative - implement something like gnome_vfs_monitor_suspend() and gnome_vfs_monitor_resume(), copy inplace in every case and use these functions.
I commited the patch above to cvs head (with a slight change to not dup the uri). This should be gone now (hopefully) Closing as FIXED!