static std::mutex librgw_mtx;
- RGWLib librgw; /* XXX initialize? */
+ RGWLib rgwlib;
class C_InitTimeout : public Context {
public:
int port = 80;
RGWProcessEnv env = { store, &rest, olog, port };
- fec = new RGWFrontendConfig("librgw");
+ fec = new RGWFrontendConfig("rgwlib");
fe = new RGWLibFrontend(env, fec);
fe->init();
int RGWLibRequest::read_permissions(RGWOp* op) {
int ret =
- rgw_build_bucket_policies(librgw.get_store(), get_state());
+ rgw_build_bucket_policies(rgwlib.get_store(), get_state());
if (ret < 0) {
ldout(get_state()->cct, 10) << "read_permissions on "
<< get_state()->bucket << ":"
return 0;
} /* RGWHandler_Lib::authorize */
-/* global RGW library object */
- static RGWLib rgwlib;
-
} /* namespace rgw */
extern "C" {
-int librgw_init()
-{
- using namespace rgw;
-
- return rgwlib.init();
-}
-
int librgw_create(librgw_t* rgw, int argc, char **argv)
{
using namespace rgw;
if (! g_ceph_context) {
vector<const char*> args;
argv_to_vec(argc, const_cast<const char**>(argv), args);
- librgw.init(args);
+ rgwlib.init(args);
}
}
using namespace rgw;
CephContext* cct = static_cast<CephContext*>(rgw);
-#if 0
rgwlib.stop();
-#endif
cct->put();
}
namespace rgw {
- extern RGWLib librgw;
+ extern RGWLib rgwlib;
const string RGWFileHandle::root_name = "/";
std::string bucket_name{path};
RGWStatBucketRequest req(cct, get_user(), bucket_name);
- int rc = librgw.get_fe()->execute_req(&req);
+ int rc = rgwlib.get_fe()->execute_req(&req);
if ((rc == 0) &&
(req.get_ret() == 0) &&
(req.matched())) {
RGWStatObjRequest req(cct, get_user(),
parent->bucket_name(), object_name,
RGWStatObjRequest::FLAG_NONE);
- int rc = librgw.get_fe()->execute_req(&req);
+ int rc = rgwlib.get_fe()->execute_req(&req);
if ((rc == 0) &&
(req.get_ret() == 0)) {
fhr = lookup_fh(parent, path, RGWFileHandle::FLAG_NONE);
case 1:
{
RGWStatLeafRequest req(cct, get_user(), parent, object_name);
- int rc = librgw.get_fe()->execute_req(&req);
+ int rc = rgwlib.get_fe()->execute_req(&req);
if ((rc == 0) &&
(req.get_ret() == 0)) {
if (req.matched) {
/* force cache drain, forces objects to evict */
fh_cache.drain(ObjUnref(this),
RGWFileHandle::FHCache::FLAG_LOCK);
- librgw.get_fe()->get_process()->unregister_fs(this);
+ rgwlib.get_fe()->get_process()->unregister_fs(this);
rele();
} /* RGWLibFS::close */
if (is_root()) {
RGWListBucketsRequest req(cct, fs->get_user(), this, rcb, cb_arg,
offset);
- rc = librgw.get_fe()->execute_req(&req);
+ rc = rgwlib.get_fe()->execute_req(&req);
if (! rc) {
parent->set_nlink(3 + d->name_cache.size());
state.atime = now;
} else {
rgw_obj_key marker{"", ""};
RGWReaddirRequest req(cct, fs->get_user(), this, rcb, cb_arg, offset);
- rc = librgw.get_fe()->execute_req(&req);
+ rc = rgwlib.get_fe()->execute_req(&req);
if (! rc) {
state.atime = now;
parent->set_nlink(3 + d->name_cache.size());
f->write_req =
new RGWWriteRequest(fs->get_context(), fs->get_user(), this,
bucket_name(), object_name);
- rc = librgw.get_fe()->start_req(f->write_req);
+ rc = rgwlib.get_fe()->start_req(f->write_req);
}
f->write_req->put_data(off, bl);
int rc = 0;
file* f = get<file>(&variant_type);
if (f && (f->write_req)) {
- rc = librgw.get_fe()->finish_req(f->write_req);
+ rc = rgwlib.get_fe()->finish_req(f->write_req);
if (! rc) {
rc = f->write_req->get_ret();
}
sec_key);
assert(new_fs);
- rc = new_fs->authorize(librgw.get_store());
+ rc = new_fs->authorize(rgwlib.get_store());
if (rc != 0) {
delete new_fs;
return -EINVAL;
}
/* register fs for shared gc */
- librgw.get_fe()->get_process()->register_fs(new_fs);
+ rgwlib.get_fe()->get_process()->register_fs(new_fs);
struct rgw_fs *fs = new_fs->get_fs();
fs->rgw = rgw;
uri += "/"; /* XXX */
uri += name;
RGWCreateBucketRequest req(cct, fs->get_user(), uri);
- rc = librgw.get_fe()->execute_req(&req);
+ rc = rgwlib.get_fe()->execute_req(&req);
rc2 = req.get_ret();
} else {
/* create an object representing the directory (naive version) */
string dir_name = rgw_fh->relative_object_name() + "/";
RGWPutObjRequest req(cct, fs->get_user(), rgw_fh->bucket_name(),
dir_name, bl);
- rc = librgw.get_fe()->execute_req(&req);
+ rc = rgwlib.get_fe()->execute_req(&req);
rc2 = req.get_ret();
}
string uri = "/";
uri += name;
RGWDeleteBucketRequest req(cct, fs->get_user(), uri);
- rc = librgw.get_fe()->execute_req(&req);
+ rc = rgwlib.get_fe()->execute_req(&req);
} else {
/*
* leaf object
std::string oname = rgw_fh->relative_object_name();
RGWDeleteObjRequest req(cct, fs->get_user(), parent->bucket_name(),
oname);
- rc = librgw.get_fe()->execute_req(&req);
+ rc = rgwlib.get_fe()->execute_req(&req);
/* release */
(void) rgw_fh_rele(rgw_fs, fh, 0 /* flags */);
}
RGWUserBuckets buckets;
uint64_t max_buckets = g_ceph_context->_conf->rgw_list_buckets_max_chunk;
- RGWRados* store = librgw.get_store();
+ RGWRados* store = rgwlib.get_store();
/* XXX check offsets */
uint64_t ix = 3;
RGWStatObjRequest req(cct, fs->get_user(), bname, oname,
RGWStatObjRequest::FLAG_NONE);
- int rc = librgw.get_fe()->execute_req(&req);
+ int rc = rgwlib.get_fe()->execute_req(&req);
if ((rc != 0) ||
(req.get_ret() != 0)) {
/* XXX EINVAL is likely illegal protocol return--if the object
rgw_fh->object_name(), offset, length,
buffer);
- int rc = librgw.get_fe()->execute_req(&req);
+ int rc = rgwlib.get_fe()->execute_req(&req);
if ((rc == 0) &&
(req.get_ret() == 0)) {
*bytes_read = req.nread;
bl);
req.do_hexdump = false;
- rc = librgw.get_fe()->execute_req(&req);
+ rc = rgwlib.get_fe()->execute_req(&req);
if (! rc) {
RGWReadV* rdv = static_cast<RGWReadV*>(
RGWPutObjRequest req(cct, fs->get_user(), rgw_fh->bucket_name(),
oname, bl);
- int rc = librgw.get_fe()->execute_req(&req);
+ int rc = rgwlib.get_fe()->execute_req(&req);
/* XXX update size (in request) */