GLib stuck when copying small files from a CIFS mount
This issue seems related to this one: #1246 (closed)
Steps to reproduce the bug:
- Mount a CIFS network drive (using /etc/fstab).
- Create two files smaller than 4096 bytes on that drive.
- Copy the files using Nautilus, Nemo or PCManFM.
- Paste the files on your local drive.
Expected: Files are copied normally.
Observed: First file is copied. The file manager then hangs on the copy dialog. Second file is never created.
The weird thing is that this is only happening with files smaller than 4096 bytes.
Also:
- If the network drive is mounted with gio mount, or if the files are located on a USB mounted drive no problems are observed.
- Using Dolphin (instead of Nautilus, Nemo or PCManFM) works.
- Copying files using command line (cp or rsync) also works perfectly.
So it really looks like this is related to Glib, as Dolphin is not using it.
I've also seen that the Glib file copy functions are using 4096 bytes buffers to perform read / write operations, so this might be related...
I'm willing to help solving the problem as Nautilus and Nemo are my favorites file managers. Let me know if you need more details or assistance with this.