No it won't move back and forth unless you change the setting. If cache fills up it just doesn't move the file(s).
So what are you saying:
1) Mover ignores data stored on a cache drive when 'Use cache disk' is set to 'preferred'.
2) unRAID will stop moving data as soon as cache drives fills up.
3) Mover will not start moving data unless 'Use cache disk' is changed to 'Yes'.
1) Yes
2) Not exactly. If the copy operation of a particular file fails, the partial copy on the target is deleted but the script keeps running. For example, say there's 500MB free and it's copying a 1GB file - that will fail, but if the next file to be copied is smaller than 500MB that will succeed.
3) Files are possibly moved from array to cache for 'Prefer', and from cache to array for 'Yes'. The mover will skip any shares with setting 'Only' or 'No'.
Yes, bear that in mind when assigning cache setting 'Prefer'. BTW with btrfs cache pool it's not uncommon to see very large cache disks.
Once the 'mover' script decides it can move data of a share, it completes the operation on that share without checking if the config setting changed during the transfer.
Don't do that unless you know the implications.
You can look at the mover script: /usr/local/sbin/mover and see exactly what's going on.
Thank you