From: Matt Benjamin Date: Fri, 18 Dec 2015 00:42:38 +0000 (-0500) Subject: librgw: use correct finish path for RGWWriteRequest (logging and stats) X-Git-Tag: v10.1.0~382^2~94 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=00571a51e271cb5f4d45f68b110a6010710ffef2;p=ceph.git librgw: use correct finish path for RGWWriteRequest (logging and stats) Signed-off-by: Matt Benjamin --- diff --git a/src/rgw/rgw_file.cc b/src/rgw/rgw_file.cc index 2e22882a0768..fe2f379bdb02 100644 --- a/src/rgw/rgw_file.cc +++ b/src/rgw/rgw_file.cc @@ -142,15 +142,9 @@ int RGWFileHandle::close() int rc = 0; file* f = get(&variant_type); if (f && (f->write_req)) { - rc = f->write_req->exec_finish(); - // rc = librgw.get_fe()->finish_req(f->write_req); // XXX + rc = librgw.get_fe()->finish_req(f->write_req); if (! rc) { rc = f->write_req->get_ret(); - if (! rc) { - /* update stats */ - set_size(f->write_req->bytes_written); - // XXX mtime - } } delete f->write_req; f->write_req = nullptr; @@ -351,6 +345,11 @@ int RGWWriteRequest::exec_finish() op_ret = processor->complete(etag, &mtime, 0, attrs, delete_at, if_match, if_nomatch); + if (! op_ret) { + /* update stats */ + rgw_fh->set_mtime({mtime, 0}); + rgw_fh->set_size(bytes_written); + } done: dispose_processor(processor);