a problem about FileStore::_destroy_collection

2015-11-15 Thread yangruifeng.09...@h3c.com
an ENOTEMPTY error mybe happen when removing a pg in previous versions,but the error is hidden in new versions。 _destroy_collection maybe return 0 when get_index or prep_delete return < 0; is this intended? int FileStore::_destroy_collection(coll_t c) { int r = 0;

答复: 答复: 答复: 答复: 答复: 答复: another peering stuck caused by net problem.

2015-11-02 Thread yangruifeng.09...@h3c.com
:14 PM, Samuel Just wrote: > Yeah, there's a heartbeat system and the messenger is reliable delivery. > -Sam > > On Mon, Nov 2, 2015 at 5:41 PM, yangruifeng.09...@h3c.com > wrote: >> I will try my best to get the detailed log. >> In the current version, we can ensu

答复: 答复: 答复: 答复: 答复: another peering stuck caused by net problem.

2015-11-02 Thread yangruifeng.09...@h3c.com
while it is hung and open a bug: debug osd = 20 debug filestore = 20 debug ms = 1 -Sam On Mon, Nov 2, 2015 at 5:24 PM, yangruifeng.09...@h3c.com wrote: > a unknown reason problem, which cause pg stuck in peering, may be a temporary > failure network failure or other bug. > BUT it can be

答复: 答复: 答复: 答复: another peering stuck caused by net problem.

2015-11-02 Thread yangruifeng.09...@h3c.com
t end up in the same place. If you did it based on a timeout, you'd just increase load by a ton when in that situation. What problem are you trying to solve? -Sam On Mon, Nov 2, 2015 at 5:05 PM, yangruifeng.09...@h3c.com wrote: > ok. > > thanks > Ruifeng Yang > > -

答复: osds full, delete stuck.

2015-09-15 Thread yangruifeng.09...@h3c.com
a simple solution, in config_opts.h, add a configuration item osd_op_force_delete, default is false or true? in the class OpReques,add two function need_skip_full_check(), set_skip_full_check() in the OSD::init_op_flags, add checking, if there is a delete op and osd_op_force_delete is ture, c

about the strtok in the process of creating swift acl policy

2015-07-28 Thread yangruifeng.09...@h3c.com
Hi, Is the strtok safe in this case ? why not strtok_r ? static int parse_list(string& uid_list, vector& uids) { ... const char *p = strtok(s, " ,"); while (p) { ... p = strtok(NULL, " ,"); } ... } bool RGWAccessControlPolicy_SWIFT::create(RGWRados *store, string& id, string&