specifier containing one or more of \fIrwx\fP, for read, write, and execute permission. If you want to declare the key an administrator (with full privileges on everything), use the shorthand 'subsystem = "allow *"'. For
example,
.IP
-osd = "allow rwx [pool foo] [auid bar]" # can read, write, and execute objects
+osd = "allow rwx [pool=foo[,bar]]|[uid=baz[,bay]]" # can read, write, and execute objects
.IP
mds = "allow" # can access mds server
.IP
.IP
mds = "allow"
.IP
-osd = "allow rw pool data"
+osd = "allow rw; allow rw pool = data_pool_num"
.IP
mon = "allow r"
.PP
} else if (is_rwx(token, cap_val)) {
ASSERT_STATE(op_allow || op_deny);
} else if (token.compare(";") != 0) {
- ASSERT_STATE(got_eq);
+ ASSERT_STATE(got_eq);
if (token.compare(",") == 0) {
ASSERT_STATE(!last_is_comma);
+ last_is_comma = true;
} else {
last_is_comma = false;
int num = strtol(token.c_str(), NULL, 10);
if (got_eq) {
ASSERT_STATE(num_list.size() > 0);
list<int>::iterator iter;
- map<int, OSDCap>& working_map = pools_map;
- if (cmd_uid) working_map = auid_map;
+ map<int, OSDCap> *working_map = &pools_map;
+ if (cmd_uid) working_map = &auid_map;
for (iter = num_list.begin(); iter != num_list.end(); ++iter) {
- OSDCap& cap = working_map[*iter];
+ OSDCap& cap = (*working_map)[*iter];
if (op_allow) {
cap.allow |= cap_val;
} else {