Jille/rufs

Copying a file locally causes log.Fatal

sgielen opened this issue · 0 comments

One user copied a shared file to the same location locally. E.g. rufs/talks/foo.mp4 -> talks/foo.mp4.

The next time a readdir for the talks/ directory occurs, this causes a conflict, which is resolved by hashing both instances of the file at that location. If, at that time, the copy is not done, the hash will differ. This causes a log.Fatalf crash on the client performing the copy, so the copy is not completed and fails with "Transport endpoint is not connected".

Since this is a likely use-case, we should improve our support for it.

Note that it can be worked-around by copying to a temporary name, then moving to the correct name. Rsync automatically does this, so a work-around is to copy using rsync instead of cp.