]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
librgw: use correct finish path for RGWWriteRequest (logging and stats)
authorMatt Benjamin <mbenjamin@redhat.com>
Fri, 18 Dec 2015 00:42:38 +0000 (19:42 -0500)
committerMatt Benjamin <mbenjamin@redhat.com>
Fri, 12 Feb 2016 17:06:56 +0000 (12:06 -0500)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
src/rgw/rgw_file.cc

index 2e22882a07682bc058fcf7278ec6fcba4008381b..fe2f379bdb0245396eadf5ac7f899e641695d335 100644 (file)
@@ -142,15 +142,9 @@ int RGWFileHandle::close()
   int rc = 0;
   file* f = get<file>(&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);