From: Andrei Ivashchenko Date: Fri, 20 Dec 2024 14:09:50 +0000 (+0100) Subject: rgw: add missing last_modified field to swift api X-Git-Tag: v19.2.3~187^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7749bbaae8d464d8e5898cd490e93f8c1ca0785b;p=ceph.git rgw: add missing last_modified field to swift api Fixes: https://tracker.ceph.com/issues/68195 Signed-off-by: Andrei Ivashchenko (cherry picked from commit 24984b704f0482bfbe09dc82d373fe40cc897c29) Conflicts: src/rgw/services/svc_bucket_sobj.cc read_bucket_info signature in squid has ctx agrument, while upstream hasn't --- diff --git a/src/rgw/rgw_common.h b/src/rgw/rgw_common.h index 2002ae51ec9..68a726e4905 100644 --- a/src/rgw/rgw_common.h +++ b/src/rgw/rgw_common.h @@ -1412,6 +1412,7 @@ struct RGWBucketEnt { size_t size; size_t size_rounded; ceph::real_time creation_time; + ceph::real_time modification_time; uint64_t count; /* The placement_rule is necessary to calculate per-storage-policy statics diff --git a/src/rgw/rgw_rest_swift.cc b/src/rgw/rgw_rest_swift.cc index bde5925dfd1..a67b1b483a4 100644 --- a/src/rgw/rgw_rest_swift.cc +++ b/src/rgw/rgw_rest_swift.cc @@ -361,6 +361,7 @@ void RGWListBuckets_ObjStore_SWIFT::dump_bucket_entry(const RGWBucketEnt& ent) if (need_stats) { s->formatter->dump_int("count", ent.count); s->formatter->dump_int("bytes", ent.size); + dump_time(s, "last_modified", ent.modification_time); } s->formatter->close_section(); diff --git a/src/rgw/services/svc_bucket_sobj.cc b/src/rgw/services/svc_bucket_sobj.cc index 41e7b02e175..bc99f0a034a 100644 --- a/src/rgw/services/svc_bucket_sobj.cc +++ b/src/rgw/services/svc_bucket_sobj.cc @@ -617,7 +617,7 @@ int RGWSI_Bucket_SObj::read_bucket_stats(RGWSI_Bucket_X_Ctx& ctx, const DoutPrefixProvider *dpp) { RGWBucketInfo bucket_info; - int ret = read_bucket_info(ctx, bucket, &bucket_info, nullptr, nullptr, boost::none, y, dpp); + int ret = read_bucket_info(ctx, bucket, &bucket_info, &ent->modification_time, nullptr, boost::none, y, dpp); if (ret < 0) { return ret; }