Wip copy on read both

cheng cheng, 
I have rebased cm-cor-v3 and cchengleo/wip-copy-on-read branch's six commits ahead of the latest
ceph master branch. And you can add your new commits on this branch...
The first 3 commits is cmgitdream's original commits,  and I suggest you add 4 stable commits (including the test case)  finally.