On 21 March 2011 20:39, André Warnier <a...@ice-sa.com> wrote:

> Maybe a guess : under Unix/Linux, "move" (mv) is a "rename", and it is not
> the same as "copy + delete original".  And a "move" (rename) works as long
> as the source and target are inside the same filesystem, but not if they are
> on different filesystems.
> (copy + delete does work in that case).
>

Nice one André!  I'd completely missed that.

 Maybe your C application (of which you do not have the source code), tries
> to do a "move" internally ?
>
> Running strace on the process containing the C code would show that up
fairly quickly.  You'd see rename(2) calls returning EXDEV.

If that's the case, changing the symlink to be at origin or mounting a new
filesystem at origin would solve this particular problem - but might cause
more chaos if there are other moves going on!

- Peter

Reply via email to