From fd0290a00ac76bbfe15bb12ee35e54dc58cf074f Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Wed, 13 Apr 2011 08:45:43 -0700 Subject: [PATCH] rgw: listing non existent bucket returns NoSuchBucket --- src/rgw/rgw_common.h | 4 ++++ src/rgw/rgw_op.cc | 2 ++ src/rgw/rgw_rest.cc | 4 +--- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/rgw/rgw_common.h b/src/rgw/rgw_common.h index de03ace16ad9..711273226bd9 100644 --- a/src/rgw/rgw_common.h +++ b/src/rgw/rgw_common.h @@ -59,6 +59,10 @@ using ceph::crypto::MD5; } while (0) +#define INVALID_BUCKET_NAME 2000 +#define INVALID_OBJECT_NAME 2001 +#define NO_SUCH_BUCKET 2002 + typedef void *RGWAccessHandle; /** Store error returns for output at a different point in the program */ diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index e9001533b7bd..82b980397e9c 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -122,6 +122,8 @@ int read_acls(struct req_state *s, RGWAccessControlPolicy *policy, string& bucke ret = -EACCES; else ret = -ENOENT; + } else if (ret == -ENOENT) { + ret = -NO_SUCH_BUCKET; } return ret; diff --git a/src/rgw/rgw_rest.cc b/src/rgw/rgw_rest.cc index 679f33462dca..1db8804156ef 100644 --- a/src/rgw/rgw_rest.cc +++ b/src/rgw/rgw_rest.cc @@ -34,9 +34,6 @@ struct errno_http { const char *default_code; }; -#define INVALID_BUCKET_NAME 2000 -#define INVALID_OBJECT_NAME 2001 - const static struct errno_http hterrs[] = { { 0, "200", "" }, { 201, "201", "Created" }, @@ -48,6 +45,7 @@ const static struct errno_http hterrs[] = { { EACCES, "403", "AccessDenied" }, { EPERM, "403", "AccessDenied" }, { ENOENT, "404", "NoSuchKey" }, + { NO_SUCH_BUCKET, "404", "NoSuchBucket" }, { ETIMEDOUT, "408", "RequestTimeout" }, { EEXIST, "409", "BucketAlreadyExists" }, { ENOTEMPTY, "409", "BucketNotEmpty" }, -- 2.47.3