rgw: fix data corruption due to network jitter
In function RGWRados::Object::Write::_do_write_meta rgw_rados_operate may return -ETIMEDOUT due to network jitter.
But head obj may eventually be written successfully even if return -ETIMEDOUT. Due to r < 0, meta.canceled be set true.
In such scenario, all the tail objects will removed in the destructor of RadosWriter, then data corruptted.
To avoid data corruption, when return -ETIMEDOUT, should clear all objects in RadosWriter.
Signed-off-by: Shasha Lu <lu.shasha@aishu.cn>
(cherry picked from commit
04282ae3c1d19bf185ee1df148eb84deb244630f)