mds: projected_parent on inode to allow concurrent rename and inode updates (due to cap changes)
The problem is that a cap update would give a new mtime mid-rename. Locker would pre-dirty the inode and _old_ parent dentry, and when it went to apply the projected update, it would have a pv from the old dentry and use it to dirty the new parent dentry. Now, rename sets projected_parent in _rename_prepare and clears it via CDir::link_inode, and pre_dirty follows that pointer when present.