I must profess to having a incomplete understanding of all of this
support, but then why would it be necessary to test VM_SHARED at
this point in msync()?
I ran into problems early on with file times being updated incorrectly
so I am a little sensitive this aspect.
Perhaps I didn't understand what page_mapped() does, but it does seem to
have the right semantics as far as I could see.