I really, really wish I'd known about the 'mapchars' option to mount.cifs before I rsynced my entire music collection to a CIFS share (when I switched from storing it on my HTPC to storing it on a NAS box).
Turns out every track with a question mark in its name went missing during that process, as you can't create files with ? in their name on a CIFS share unless you mount it with 'mapchars'.
Now I get to go through and find and re-rip all the missing tracks. Happily Picard can help a lot with identifying albums with tracks missing, but it's still going to be a pain in the ass...
EDIT: Top tip: if you find yourself in this situation, luckily, it turns out rsync is smart. It doesn't skip the files, it hides them. So "02 - Does He Love You?.flac" becomes ".02 - Does He Love You" . Once you fix your mount options you can just rename the files as appropriate. All together now: thanks, daddy rsync! To conveniently find all files that were so renamed, do:
find -name ".[0-1]*"
(why don't I mount the share with NFS? The DNS-323 seems to have a bug where if you mount a share on it via NFS, then leave that share idle for a while, then try to access it, the box hangs.)