From 8836b8447a3a70fc6dd647d070d763f283084ee7 Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Tue, 17 May 2011 04:15:10 -0700 Subject: [PATCH] rgw: don't log operations on unexisting bucket --- src/rgw/rgw_common.cc | 1 + src/rgw/rgw_common.h | 1 + src/rgw/rgw_log.cc | 4 ++++ src/rgw/rgw_rest.cc | 1 + 4 files changed, 7 insertions(+) diff --git a/src/rgw/rgw_common.cc b/src/rgw/rgw_common.cc index 71415da49f3ba..ea3ebc3d4a970 100644 --- a/src/rgw/rgw_common.cc +++ b/src/rgw/rgw_common.cc @@ -23,6 +23,7 @@ void rgw_err:: clear() { http_ret = 200; + errno = 0; s3_code.clear(); } diff --git a/src/rgw/rgw_common.h b/src/rgw/rgw_common.h index 11be231b4d9e7..3ed27d01ef4fa 100644 --- a/src/rgw/rgw_common.h +++ b/src/rgw/rgw_common.h @@ -94,6 +94,7 @@ struct rgw_err { friend std::ostream& operator<<(std::ostream& oss, const rgw_err &err); int http_ret; + int ret; std::string s3_code; std::string message; }; diff --git a/src/rgw/rgw_log.cc b/src/rgw/rgw_log.cc index 4a81c11a55b36..4e056cd0d4e47 100644 --- a/src/rgw/rgw_log.cc +++ b/src/rgw/rgw_log.cc @@ -22,6 +22,10 @@ int rgw_log_op(struct req_state *s) RGW_LOG(0) << "nothing to log for operation" << dendl; return -EINVAL; } + if (s->err.ret = -ERR_NO_SUCH_BUCKET) { + RGW_LOG(0) << "buclet " << s->bucket << " doesn't exist, not logging" << dendl; + return 0; + } entry.bucket = s->bucket; if (s->object) diff --git a/src/rgw/rgw_rest.cc b/src/rgw/rgw_rest.cc index 629b2efe3a82c..4ef07bf04b559 100644 --- a/src/rgw/rgw_rest.cc +++ b/src/rgw/rgw_rest.cc @@ -59,6 +59,7 @@ void set_req_state_err(struct req_state *s, int err_no) { if (err_no < 0) err_no = -err_no; + s->err.ret = err_no; for (size_t i = 0; i < sizeof(RGW_HTML_ERRORS)/sizeof(RGW_HTML_ERRORS[0]); ++i) { const struct rgw_html_errors *r = RGW_HTML_ERRORS + i; if (err_no == r->err_no) { -- 2.39.5