Passing out the object path is the same kind of information leakage that passing out the FD is, and if splits happen to occur in between it being created and then re-used we'd be in trouble like we wouldn't be with the fd (because that remains valid across a directory move).

More significantly, don't you think that adding those extra sys calls will negate most of the advantages of this branch? (I would love to see some performance test results of doing so.)