FWIW, versioned_writes has changed a good bit recently. While this bug is still present on master, any backport will be complicated by:
* refactoring COPY as middleware [1] which both
- seems likely to land before any fix here can be properly reviewed and
- simplifies the authorization checks required, as we no longer need to think about COPY
* decoupling versioned_writes from COPY [2]
Looking past mitaka toward a liberty backport, we'll also hit:
* fixing the upgrade bug caused by reverse container listings [3]
* using calendar.timegm instead of time.mktime [4] (mostly a problem because of test conflicts)
* using reverse container listings [5]
The good news is these are all fairly well-contained to versioned_writes provided they are taken as a group. I am uncertain as to whether it would be better to backport them all as a chain or develop a de novo patch.
I've attached a patch to address this bug, with patchset 37 of [1] as the parent commit. This is done under my stated assumption that [1] will land before this fix; as a result it does not cover server-side copies (via either COPY-with-Destination or PUT-with-X-Copy-From) which would need to be considered if backports require new patches.
FWIW, versioned_writes has changed a good bit recently. While this bug is still present on master, any backport will be complicated by:
* refactoring COPY as middleware [1] which both
- seems likely to land before any fix here can be properly reviewed and
- simplifies the authorization checks required, as we no longer need to think about COPY
* decoupling versioned_writes from COPY [2]
Looking past mitaka toward a liberty backport, we'll also hit:
* fixing the upgrade bug caused by reverse container listings [3]
* using calendar.timegm instead of time.mktime [4] (mostly a problem because of test conflicts)
* using reverse container listings [5]
The good news is these are all fairly well-contained to versioned_writes provided they are taken as a group. I am uncertain as to whether it would be better to backport them all as a chain or develop a de novo patch.
I've attached a patch to address this bug, with patchset 37 of [1] as the parent commit. This is done under my stated assumption that [1] will land before this fix; as a result it does not cover server-side copies (via either COPY-with- Destination or PUT-with- X-Copy- From) which would need to be considered if backports require new patches.
[1] https:/ /review. openstack. org/#/c/ 156923/ /review. openstack. org/#/c/ 260179/ /review. openstack. org/#/c/ 299686/ /review. openstack. org/#/c/ 271542/ /review. openstack. org/#/c/ 234391/
[2] https:/
[3] https:/
[4] https:/
[5] https:/