target.xattrs = info.xattrs;
map<string, bufferlist>::iterator iter;
for (iter = target.xattrs.begin(); iter != target.xattrs.end(); ++iter) {
- dout(0) << "updating xattr: name=" << iter->first << " bl.length()=" << iter->second.length() << dendl;
+ dout(10) << "updating xattr: name=" << iter->first << " bl.length()=" << iter->second.length() << dendl;
}
} else if (info.flags & CACHE_FLAG_APPEND_XATTRS) {
map<string, bufferlist>::iterator iter;
for (iter = info.xattrs.begin(); iter != info.xattrs.end(); ++iter) {
- dout(0) << "appending xattr: name=" << iter->first << " bl.length()=" << iter->second.length() << dendl;
+ dout(10) << "appending xattr: name=" << iter->first << " bl.length()=" << iter->second.length() << dendl;
target.xattrs[iter->first] = iter->second;
}
}
char __buf[l]; \
n = snprintf(__buf, sizeof(__buf), format, __VA_ARGS__); \
if (n != l) \
- dout(0) << "--> " << __buf << dendl; \
+ dout(10) << "--> " << __buf << dendl; \
break; \
l *= 2; \
} \
buf = (char *)realloc(buf, max_len);
}
if (!buf) {
- dout(0) << "RGWFormatter_Plain::write_data: failed allocating " << max_len << " bytes" << dendl;
+ dout(0) << "ERROR: RGWFormatter_Plain::write_data: failed allocating " << max_len << " bytes" << dendl;
goto done_free;
}
pos = len;
return 0;
if (!s->bucket_name) {
- dout(0) << "nothing to log for operation" << dendl;
+ dout(5) << "nothing to log for operation" << dendl;
return -EINVAL;
}
if (s->err.ret == -ERR_NO_SUCH_BUCKET) {
if (!g_conf->rgw_log_nonexistent_bucket) {
- dout(0) << "bucket " << s->bucket << " doesn't exist, not logging" << dendl;
+ dout(5) << "bucket " << s->bucket << " doesn't exist, not logging" << dendl;
return 0;
}
bucket_id = 0;
entry.bucket = s->bucket_name;
if (check_utf8(s->bucket_name, entry.bucket.size()) != 0) {
- dout(0) << "not logging op on bucket with non-utf8 name" << dendl;
+ dout(5) << "not logging op on bucket with non-utf8 name" << dendl;
return 0;
}
}
done:
if (ret < 0)
- dout(0) << "failed to log entry" << dendl;
+ dout(0) << "ERROR: failed to log entry" << dendl;
return ret;
}
try {
policy->decode(iter);
} catch (buffer::error& err) {
- dout(0) << "error: could not decode policy, caught buffer::error" << dendl;
+ dout(0) << "ERROR: could not decode policy, caught buffer::error" << dendl;
return -EIO;
}
if (g_conf->debug_rgw >= 15) {
rgw_obj obj;
if (bucket_info.flags & BUCKET_SUSPENDED) {
- dout(0) << "bucket " << bucket_info.bucket.name << " is suspended" << dendl;
+ dout(0) << "NOTICE: bucket " << bucket_info.bucket.name << " is suspended" << dendl;
return -ERR_USER_SUSPENDED;
}
if (s->bucket_name_str.size()) {
ret = rgwstore->get_bucket_info(s->obj_ctx, s->bucket_name_str, bucket_info);
if (ret < 0) {
- dout(0) << "couldn't get bucket from bucket_name (name=" << s->bucket_name_str << ")" << dendl;
+ dout(0) << "NOTICE: couldn't get bucket from bucket_name (name=" << s->bucket_name_str << ")" << dendl;
return ret;
}
s->bucket = bucket_info.bucket;
true, s->user.auid);
/* continue if EEXIST and create_bucket will fail below. this way we can recover
* from a partial create by retrying it. */
- dout(0) << "rgw_create_bucket returned ret=" << ret << " bucket=" << s->bucket << dendl;
+ dout(20) << "rgw_create_bucket returned ret=" << ret << " bucket=" << s->bucket << dendl;
if (ret && ret != -EEXIST)
goto done;
++iter, ++obj_iter) {
char etag[CEPH_CRYPTO_MD5_DIGESTSIZE];
if (iter->first != (int)obj_iter->first) {
- dout(0) << "parts num mismatch: next requested: " << iter->first << " next uploaded: " << obj_iter->first << dendl;
+ dout(0) << "NOTICE: parts num mismatch: next requested: " << iter->first << " next uploaded: " << obj_iter->first << dendl;
ret = -ERR_INVALID_PART;
goto done;
}
if (iter->second.compare(obj_iter->second.etag) != 0) {
- dout(0) << "etag mismatch: part: " << iter->first << " etag: " << iter->second << dendl;
+ dout(0) << "NOTICE: etag mismatch: part: " << iter->first << " etag: " << iter->second << dendl;
ret = -ERR_INVALID_PART;
goto done;
}
}
} else {
if (ret < 0) {
- dout(0) << "failed to store bucket info" << dendl;
+ dout(0) << "ERROR: failed to store bucket info" << dendl;
return ret;
}
return r;
uint64_t ver = id_io_ctx.get_last_version();
- dout(0) << "got obj version=" << ver << dendl;
+ dout(20) << "got obj version=" << ver << dendl;
char buf[32];
snprintf(buf, sizeof(buf), "%llu", (unsigned long long)ver);
bucket.marker = buf;
return ret;
}
- dout(0) << "store_bucket_info: bucket=" << info.bucket << " owner " << info.owner << dendl;
+ dout(20) << "store_bucket_info: bucket=" << info.bucket << " owner " << info.owner << dendl;
return 0;
}
c->wait();
r = c->get_return_value();
if (r < 0) {
- dout(0) << "async pool_create returned " << r << dendl;
+ dout(0) << "WARNING: async pool_create returned " << r << dendl;
}
c->release();
}
RGWBucketInfo info;
int r = get_bucket_info(NULL, bucket.name, info);
if (r < 0) {
- dout(0) << "get_bucket_info on bucket=" << bucket.name << " returned err=" << r << ", skipping bucket" << dendl;
+ dout(0) << "NOTICE: get_bucket_info on bucket=" << bucket.name << " returned err=" << r << ", skipping bucket" << dendl;
ret = r;
continue;
}
r = put_bucket_info(bucket.name, info, false);
if (r < 0) {
- dout(0) << "put_bucket_info on bucket=" << bucket.name << " returned err=" << r << ", skipping bucket" << dendl;
+ dout(0) << "NOTICE: put_bucket_info on bucket=" << bucket.name << " returned err=" << r << ", skipping bucket" << dendl;
ret = r;
continue;
}
if (state->obj_tag.length() == 0 ||
state->shadow_obj.size() == 0) {
- dout(0) << "can't clone object " << obj << " to shadow object, tag/shadow_obj haven't been set" << dendl;
+ dout(10) << "can't clone object " << obj << " to shadow object, tag/shadow_obj haven't been set" << dendl;
// FIXME: need to test object does not exist
} else if (state->size <= RGW_MAX_CHUNK_SIZE) {
- dout(0) << "not cloning object, object size (" << state->size << ")" << " <= chunk size" << dendl;
+ dout(10) << "not cloning object, object size (" << state->size << ")" << " <= chunk size" << dendl;
}else {
- dout(0) << "cloning object " << obj << " to name=" << state->shadow_obj << dendl;
+ dout(10) << "cloning object " << obj << " to name=" << state->shadow_obj << dendl;
rgw_obj dest_obj(obj.bucket, state->shadow_obj);
dest_obj.set_ns(shadow_ns);
if (obj.key.size())
dest_obj.set_key(obj.object);
pair<string, bufferlist> cond(RGW_ATTR_ID_TAG, state->obj_tag);
- dout(0) << "cloning: dest_obj=" << dest_obj << " size=" << state->size << " tag=" << state->obj_tag.c_str() << dendl;
+ dout(10) << "cloning: dest_obj=" << dest_obj << " size=" << state->size << " tag=" << state->obj_tag.c_str() << dendl;
r = clone_obj_cond(NULL, dest_obj, 0, obj, 0, state->size, state->attrset, shadow_category, &state->mtime, false, true, &cond);
if (r == -EEXIST)
r = 0;
if (r == -ECANCELED) {
/* we lost in a race here, original object was replaced, we assume it was cloned
as required */
- dout(0) << "clone_obj_cond was cancelled, lost in a race" << dendl;
+ dout(5) << "clone_obj_cond was cancelled, lost in a race" << dendl;
state->clear();
return r;
} else {
if (r == -ECANCELED) {
/* a race! object was replaced, we need to set attr on the original obj */
- dout(0) << "RGWRados::set_attr: raced with another process, going to the shadow obj instead" << dendl;
+ dout(0) << "NOTICE: RGWRados::set_attr: raced with another process, going to the shadow obj instead" << dendl;
string loc = obj.loc();
rgw_obj shadow(obj.bucket, state->shadow_obj, loc, shadow_ns);
r = set_attr(NULL, shadow, name, bl);
struct tm mtm;
struct tm *gmtm = gmtime_r(&astate->mtime, &mtm);
if (!gmtm) {
- dout(0) << "could not get translate mtime for object" << dendl;
+ dout(0) << "NOTICE: could not get translate mtime for object" << dendl;
r = -EINVAL;
goto done_err;
}
if (r == -ECANCELED) {
/* a race! object was replaced, we need to set attr on the original obj */
- dout(0) << "RGWRados::get_obj: raced with another process, going to the shadow obj instead" << dendl;
+ dout(0) << "NOTICE: RGWRados::get_obj: raced with another process, going to the shadow obj instead" << dendl;
string loc = obj.loc();
rgw_obj shadow(bucket, astate->shadow_obj, loc, shadow_ns);
r = get_obj(NULL, handle, shadow, data, ofs, end);
r = io_ctx.operate(oid, &op, &bl);
if (r == -ECANCELED) {
/* a race! object was replaced, we need to set attr on the original obj */
- dout(0) << "RGWRados::get_obj: raced with another process, going to the shadow obj instead" << dendl;
+ dout(0) << "NOTICE: RGWRados::get_obj: raced with another process, going to the shadow obj instead" << dendl;
string loc = obj.loc();
rgw_obj shadow(obj.bucket, astate->shadow_obj, loc, shadow_ns);
r = read(NULL, shadow, ofs, size, bl);
map<string, bufferlist>::iterator aiter;
for (aiter = attrset.begin(); aiter != attrset.end(); ++aiter) {
- dout(0) << "iter->first=" << aiter->first << dendl;
+ dout(20) << "RGWRados::obj_stat: attr=" << aiter->first << dendl;
}
uint64_t size = 0;
return -EIO;
}
- dout(0) << "rgw_get_bucket_info: bucket=" << info.bucket << " owner " << info.owner << dendl;
+ dout(20) << "rgw_get_bucket_info: bucket=" << info.bucket << " owner " << info.owner << dendl;
return 0;
}
// fill it in with initial values; we may correct later
e.name = oid;
m[e.name] = e;
- dout(0) << " got " << e.name << dendl;
+ dout(20) << "RGWRados::pool_list: got " << e.name << dendl;
}
if (m.size()) {
int RGWRados::cls_bucket_list(rgw_bucket& bucket, string start, uint32_t num, map<string, RGWObjEnt>& m,
bool *is_truncated, string *last_entry)
{
- dout(0) << "cls_bucket_list " << bucket << " start " << start << " num " << num << dendl;
+ dout(10) << "cls_bucket_list " << bucket << " start " << start << " num " << num << dendl;
librados::IoCtx io_ctx;
int r = open_bucket_ctx(bucket, io_ctx);
}
}
m[e.name] = e;
- dout(0) << " got " << e.name << dendl;
+ dout(10) << "RGWRados::cls_bucket_list: got " << e.name << dendl;
}
if (dir.m.size()) {
s->err.s3_code = r->s3_code;
return;
}
- dout(0) << "set_req_state_err err_no=" << err_no << " resorting to 500" << dendl;
+ dout(0) << "WARNING: set_req_state_err err_no=" << err_no << " resorting to 500" << dendl;
s->err.http_ret = 500;
s->err.s3_code = "UnknownError";
if (md5) {
for (const char *p = md5; *p; p++) {
if (!is_base64_for_content_md5(*p)) {
- dout(0) << "bad content-md5 provided (not base64), aborting request p=" << *p << " " << (int)*p << dendl;
+ dout(0) << "NOTICE: bad content-md5 provided (not base64), aborting request p=" << *p << " " << (int)*p << dendl;
return false;
}
}
} else {
req_date = s->env->get("HTTP_X_AMZ_DATE");
if (!req_date) {
- dout(0) << "missing date for auth header" << dendl;
+ dout(0) << "NOTICE: missing date for auth header" << dendl;
return false;
}
}
struct tm t;
if (!parse_rfc2616(req_date, &t)) {
- dout(0) << "failed to parse date for auth header" << dendl;
+ dout(0) << "NOTICE: failed to parse date for auth header" << dendl;
return false;
}
if (t.tm_year < 70) {
- dout(0) << "bad date (predates epoch): " << req_date << dendl;
+ dout(0) << "NOTICE: bad date (predates epoch): " << req_date << dendl;
return false;
}
s->header_time = utime_t(timegm(&t), 0);
if ((req_sec < now - RGW_AUTH_GRACE_MINS * 60 ||
req_sec > now + RGW_AUTH_GRACE_MINS * 60) && !qsr) {
dout(10) << "req_sec=" << req_sec << " now=" << now << "; now - RGW_AUTH_GRACE_MINS=" << now - RGW_AUTH_GRACE_MINS * 60 << "; now + RGW_AUTH_GRACE_MINS=" << now + RGW_AUTH_GRACE_MINS * 60 << dendl;
- dout(0) << "request time skew too big now=" << utime_t(now, 0) << " req_time=" << s->header_time << dendl;
+ dout(0) << "NOTICE: request time skew too big now=" << utime_t(now, 0) << " req_time=" << s->header_time << dendl;
return -ERR_REQUEST_TIME_SKEWED;
}
if (!k.subuser.empty()) {
map<string, RGWSubUser>::iterator uiter = s->user.subusers.find(k.subuser);
if (uiter == s->user.subusers.end()) {
- dout(0) << "ERROR: could not find subuser: " << k.subuser << dendl;
+ dout(0) << "NOTICE: could not find subuser: " << k.subuser << dendl;
return -EPERM;
}
RGWSubUser& subuser = uiter->second;
supplied_etag = s->env->get("HTTP_ETAG");
if (!s->content_type) {
- dout(0) << "content type wasn't provided, trying to guess" << dendl;
+ dout(5) << "content type wasn't provided, trying to guess" << dendl;
const char *suffix = strrchr(s->object, '.');
if (suffix) {
suffix++;
return ret;
if (!info.user) {
- dout(0) << "swift auth didn't authorize a user" << dendl;
+ dout(5) << "swift auth didn't authorize a user" << dendl;
return false;
}
dout(10) << "swift user=" << s->os_user << dendl;
if (rgw_get_user_info_by_swift(swift_user, s->user) < 0) {
- dout(0) << "couldn't map swift user" << dendl;
+ dout(0) << "NOTICE: couldn't map swift user" << dendl;
return false;
}
int len = strlen(token);
if (len & 1) {
- dout(0) << "failed to verify token: invalid token length len=" << len << dendl;
+ dout(0) << "NOTICE: failed to verify token: invalid token length len=" << len << dendl;
return -EINVAL;
}
::decode(nonce, iter);
::decode(expiration, iter);
} catch (buffer::error& err) {
- dout(0) << "failed to decode token: caught exception" << dendl;
+ dout(0) << "NOTICE: failed to decode token: caught exception" << dendl;
return -EINVAL;
}
if (expiration < ceph_clock_now(g_ceph_context)) {
- dout(0) << "old timed out token was used now=" << ceph_clock_now(g_ceph_context) << " token.expiration=" << expiration << dendl;
+ dout(0) << "NOTICE: old timed out token was used now=" << ceph_clock_now(g_ceph_context) << " token.expiration=" << expiration << dendl;
return -EPERM;
}
return ret;
if (tok.length() != bl.length()) {
- dout(0) << "tokens length mismatch: bl.length()=" << bl.length() << " tok.length()=" << tok.length() << dendl;
+ dout(0) << "NOTICE: tokens length mismatch: bl.length()=" << bl.length() << " tok.length()=" << tok.length() << dendl;
return -EPERM;
}
if (memcmp(tok.c_str(), bl.c_str(), tok.length()) != 0) {
char buf[tok.length() * 2 + 1];
buf_to_hex((const unsigned char *)tok.c_str(), tok.length(), buf);
- dout(0) << "WARNING: tokens mismatch tok=" << buf << dendl;
+ dout(0) << "NOTICE: tokens mismatch tok=" << buf << dendl;
return -EPERM;
}
{
int ret = -EPERM;
- dout(20) << "RGW_SWIFT_Auth_Get::execute()" << dendl;
-
const char *key = s->env->get("HTTP_X_AUTH_KEY");
const char *user = s->env->get("HTTP_X_AUTH_USER");
}
const char *host = s->env->get("HTTP_HOST");
if (!host) {
- dout(0) << "server is misconfigured, missing rgw_swift_url_prefix or rgw_swift_url, HTTP_HOST is not set" << dendl;
+ dout(0) << "NOTICE: server is misconfigured, missing rgw_swift_url_prefix or rgw_swift_url, HTTP_HOST is not set" << dendl;
ret = -EINVAL;
goto done;
}
swift_key = &siter->second;
if (swift_key->key.compare(key) != 0) {
- dout(0) << "RGW_SWIFT_Auth_Get::execute(): bad swift key" << dendl;
+ dout(0) << "NOTICE: RGW_SWIFT_Auth_Get::execute(): bad swift key" << dendl;
ret = -EPERM;
goto done;
}
RGWUserInfo inf;
int r = rgw_get_user_info_by_swift(k.id, inf);
if (r >= 0 && inf.user_id.compare(info.user_id) != 0) {
- dout(0) << "can't store user info, swift id already mapped to another user" << dendl;
+ dout(0) << "WARNING: can't store user info, swift id already mapped to another user" << dendl;
return -EEXIST;
}
}
RGWAccessKey& k = iter->second;
int r = rgw_get_user_info_by_access_key(k.id, inf);
if (r >= 0 && inf.user_id.compare(info.user_id) != 0) {
- dout(0) << "can't store user info, access key already mapped to another user" << dendl;
+ dout(0) << "WARNING: can't store user info, access key already mapped to another user" << dendl;
return -EEXIST;
}
}
RGWBucketEnt& entry = iter->second;
int r = rgw_add_bucket(user_id, entry.bucket);
if (r < 0)
- dout(0) << "failed to store bucket information for user " << user_id << " bucket=" << entry.bucket << dendl;
+ dout(0) << "ERROR: failed to store bucket information for user " << user_id << " bucket=" << entry.bucket << dendl;
}
}
map<string, RGWBucketEnt>& m = buckets.get_buckets();
int r = rgwstore->update_containers_stats(m);
if (r < 0)
- dout(0) << "could not get stats for buckets" << dendl;
+ dout(0) << "ERROR: could not get stats for buckets" << dendl;
}
return 0;
rgw_obj obj(ui_uid_bucket, buckets_obj_id);
ret = rgwstore->tmap_create(obj, bucket_name, bl);
if (ret < 0) {
- dout(0) << "error adding bucket to directory: "
+ dout(0) << "ERROR: error adding bucket to directory: "
<< cpp_strerror(-ret)<< dendl;
}
} else {
rgw_obj obj(ui_uid_bucket, buckets_obj_id);
ret = rgwstore->tmap_del(obj, bucket.name);
if (ret < 0) {
- dout(0) << "error removing bucket from directory: "
+ dout(0) << "ERROR: error removing bucket from directory: "
<< cpp_strerror(-ret)<< dendl;
}
} else {
}
map<string, RGWAccessKey>::iterator kiter = info.access_keys.begin();
for (; kiter != info.access_keys.end(); ++kiter) {
- dout(0) << "removing key index: " << kiter->first << dendl;
+ dout(10) << "removing key index: " << kiter->first << dendl;
ret = rgw_remove_key_index(kiter->second);
if (ret < 0 && ret != -ENOENT) {
dout(0) << "ERROR: could not remove " << kiter->first << " (access key object), should be fixed (err=" << ret << ")" << dendl;
map<string, RGWAccessKey>::iterator siter = info.swift_keys.begin();
for (; siter != info.swift_keys.end(); ++siter) {
RGWAccessKey& k = siter->second;
- dout(0) << "removing swift subuser index: " << k.id << dendl;
+ dout(10) << "removing swift subuser index: " << k.id << dendl;
/* check if swift mapping exists */
ret = rgw_remove_swift_name_index(k.id);
if (ret < 0 && ret != -ENOENT) {
}
rgw_obj email_obj(ui_email_bucket, info.user_email);
- dout(0) << "removing email index: " << info.user_email << dendl;
+ dout(10) << "removing email index: " << info.user_email << dendl;
ret = rgwstore->delete_obj(NULL, email_obj);
if (ret < 0 && ret != -ENOENT) {
dout(0) << "ERROR: could not remove " << info.user_id << ":" << email_obj << ", should be fixed (err=" << ret << ")" << dendl;
string buckets_obj_id;
get_buckets_obj(info.user_id, buckets_obj_id);
rgw_obj uid_bucks(ui_uid_bucket, buckets_obj_id);
- dout(0) << "removing user buckets index" << dendl;
+ dout(10) << "removing user buckets index" << dendl;
ret = rgwstore->delete_obj(NULL, uid_bucks);
if (ret < 0 && ret != -ENOENT) {
dout(0) << "ERROR: could not remove " << info.user_id << ":" << uid_bucks << ", should be fixed (err=" << ret << ")" << dendl;
}
rgw_obj uid_obj(ui_uid_bucket, info.user_id);
- dout(0) << "removing user index: " << info.user_id << dendl;
+ dout(10) << "removing user index: " << info.user_id << dendl;
ret = rgwstore->delete_obj(NULL, uid_obj);
if (ret < 0 && ret != -ENOENT) {
dout(0) << "ERROR: could not remove " << info.user_id << ":" << uid_obj << ", should be fixed (err=" << ret << ")" << dendl;