From 748a6e56accbf437958ed6b36e719fe6197fbcd7 Mon Sep 17 00:00:00 2001 From: Matt Benjamin Date: Thu, 1 Oct 2015 12:53:00 -0400 Subject: [PATCH] librgw: add user_id to RGWListBucketsRequest Signed-off-by: Matt Benjamin --- src/rgw/rgw_file.cc | 14 ++++++++++++-- src/rgw/rgw_file.h | 9 ++++++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/rgw/rgw_file.cc b/src/rgw/rgw_file.cc index 80edd4dbbe9c6..1c2fd83c27ef7 100644 --- a/src/rgw/rgw_file.cc +++ b/src/rgw/rgw_file.cc @@ -301,9 +301,19 @@ int rgw_readdir(struct rgw_fs *rgw_fs, #if 1 /* TODO: * take actual, um, arguments + * deal with markers (continuation) + * deal with sync vs async + * consider non-default tenancy/user and bucket layouts */ - RGWListBucketsRequest req(cct, rcb, cb_arg, offset); - + if (is_root(uri)) { + /* for now, root always contains one user's bucket namespace */ + RGWListBucketsRequest req(cct, rgw_fs->user_id, rcb, cb_arg, offset); + } else { + /* + RGWListBucketRequest req(cct, rgw_fs->user_id, uri, rcb, cb_arg, offset); + ... + */ + } #else /* XXX current open-coded logic should move into librgw (need * functor mechanism wrapping callback */ diff --git a/src/rgw/rgw_file.h b/src/rgw/rgw_file.h index 8f1c7edc6709f..eabb78cb4bfa3 100644 --- a/src/rgw/rgw_file.h +++ b/src/rgw/rgw_file.h @@ -11,17 +11,20 @@ /* read directory content */ + class RGWListBucketsRequest : public RGWLibRequest, public RGWListBuckets_ObjStore_Lib /* RGWOp */ { public: + std::string user_id; uint64_t* offset; void* cb_arg; rgw_readdir_cb rcb; - RGWListBucketsRequest(CephContext* _cct, rgw_readdir_cb _rcb, void* _cb_arg, - uint64_t* _offset) - : RGWLibRequest(_cct), offset(_offset), cb_arg(_cb_arg), rcb(_rcb) { + RGWListBucketsRequest(CephContext* _cct, char *_user_id, + rgw_readdir_cb _rcb, void* _cb_arg, uint64_t* _offset) + : RGWLibRequest(_cct), user_id(_user_id), offset(_offset), cb_arg(_cb_arg), + rcb(_rcb) { // req->op = op op = this; } -- 2.39.5