From: Yehuda Sadeh Date: Fri, 22 Apr 2016 21:23:22 +0000 (-0700) Subject: rgw: don't try to delete object if does not exist X-Git-Tag: v10.2.1~44^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a288a054c18fedda9ac3230d392f5a41a140ca9a;p=ceph.git rgw: don't try to delete object if does not exist If we know that the object does not exist, no need to remove it. Signed-off-by: Yehuda Sadeh (cherry picked from commit 8d59a30d56b5f197a293f7fba6ebb1a630a33a05) --- diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc index 478d12d4055..5df20f5c790 100644 --- a/src/rgw/rgw_rados.cc +++ b/src/rgw/rgw_rados.cc @@ -7491,12 +7491,15 @@ int RGWRados::Object::Delete::delete_obj() } } + if (!state->exists) { + target->invalidate_state(); + return -ENOENT; + } + r = target->prepare_atomic_modification(op, false, NULL, NULL, NULL, true); if (r < 0) return r; - bool ret_not_existed = (!state->exists); - RGWBucketInfo& bucket_info = target->get_bucket_info(); RGWRados::Bucket bop(store, bucket_info); @@ -7547,9 +7550,6 @@ int RGWRados::Object::Delete::delete_obj() if (r < 0) return r; - if (ret_not_existed) - return -ENOENT; - /* update quota cache */ store->quota_handler->update_stats(params.bucket_owner, bucket, -1, 0, obj_size);