I have a platform I’m working on, Ubuntu 18.04.2 LTS, where I am trying to update files referenced through symlinks.

The one program I am using (exiv2) requires that the metadata file be the same name as the file it’s being applied to with the exception of the extension. No problem. 
Except that to maintain the integrity of all my files and directories I have symlinks for everything in the directory structure. This works well for almost all needs except…

> root at server:/# /usr/bin/exiv2 -i X /storage/events-photos/outdoor/2019/folder1/folder2/filename-24996-ALA.JPG
> /storage/events-photos/outdoor/2019/folder1/folder2/filename-24996-ALA.JPG: Could not write metadata to file: /storage/events-photos/outdoor/2019/folder1/folder2/filename-24996-ALA.JPG19518: Failed to rename file to /temp1/03942919-2C8E-F675-5BE8-7F82E060481E/CB2C28D6-5196-AB51-59C2-33F0ECD497D7: Invalid cross-device link (errno = 18)
> 

Running the command in “debug” mode just adds one thing to give a hint...

> root at server:/# /usr/bin/exiv2 -Q d -i X /storage/events-photos/outdoor/2019/folder1/folder2/filename-24996-ALA.JPG
> Info: Write strategy: Non-intrusive
> /storage/events-photos/outdoor/2019/folder1/folder2/filename-24996-ALA.JPG: Could not write metadata to file: /storage/events-photos/outdoor/2019/folder1/folder2/filename-24996-ALA.JPG19522: Failed to rename file to /temp1/03942919-2C8E-F675-5BE8-7F82E060481E/CB2C28D6-5196-AB51-59C2-33F0ECD497D7: Invalid cross-device link (errno = 18)
> root at d3photo_images:/# 
> 


So which is the culprit? The OS, I presume. And if that’s the case… what do I need to look for in the kernel to override the cross-device link? 

I’ll probably find it online before I get a response… although I might just go another route if it doesn’t have the same issue.

—
Ryan