I have a mount where I have my music shared with my linux machine via cifs, which also hosts a public web / mail / ftp server. This is setup on the windows side as read only. I was noticing that Airplay was not adding any music to my machines, and found this error....
[mediamonitorcommon.py : set_needed_file_permissions()] : LINE 83 - Failed to change file's owner/group/permissions <file stuff here>
After looking at the code, it appears that in mediamonitorcommon.py for some reason is wanting to set EVERY file to www-data:www-data with permissions of 0666, even when the script has already verified that it can read the file without issue (These files are set 444, read-only).
Why would this need to be for a FOLLOW. Airplay is only supposed to be scanning those directories and making changes based on changes made in the directory.. not making any changes to it. Why does it need these permissions?? I can understand this for an upload directory, but this sounds like a major bug, since according to your own documentation, Airplay should not be making changes on a follow, only submitting to the will of the changes made in the designated file system.
I was able to fix this by commenting out the lines where mediamonitorcommon.py tries to make those changes, but this looks like it might be a bug, and thus why I wanted to report it.
Media Monitor is making those changes because we need to ensure those files are readable by Apache. If you go into the Web UI you will notice that you can preview all audio in your library. This is because Apache is streaming these files to your browser.