]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
rgw: do not ignore EEXIST in RGWPutObj::execute
authorMatt Benjamin <mbenjamin@redhat.com>
Thu, 12 Jul 2018 20:42:29 +0000 (16:42 -0400)
committerMatt Benjamin <mbenjamin@redhat.com>
Fri, 13 Jul 2018 15:08:32 +0000 (11:08 -0400)
commit7c18258e54741a54bdeb59d4da7fd4fee73e8618
tree2e172663cc3802943489daef2144b5cf6c44669e
parent3e8ddaf30105f98dbd68ddb90eab2261d9e51678
rgw: do not ignore EEXIST in RGWPutObj::execute

The existing logic appears able to cause propagation of a failed
exclusive create to the client, when it should instead have been
retried, due to disagreement about the logical write offset. (The
value of ofs here could be > 0 due to the operation of a stacked
write filter [e.g., compressor], when the RADOS write offset was
0 and hence an exclusive write that should be retried).

Rationale for fix by Casey.

http://tracker.ceph.com/issues/22790

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
src/rgw/rgw_op.cc