]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: optimize function parse_raw_oid 19814/head
authorBingyin Zhang <zhangbingyin@cloudin.cn>
Sat, 6 Jan 2018 06:27:41 +0000 (14:27 +0800)
committerBingyin Zhang <zhangbingyin@cloudin.cn>
Sat, 6 Jan 2018 06:38:05 +0000 (14:38 +0800)
* drop redundant checks

Signed-off-by: Bingyin Zhang <zhangbingyin@cloudin.cn>
src/rgw/rgw_common.h

index 438237d5570a0316a60c0f31ad76dee543daa06d..dda079c26d2b96635fd53adb3db92a62b9b06132 100644 (file)
@@ -1647,11 +1647,11 @@ struct rgw_obj_key {
       return true;
     }
 
-    if (oid[0] != '_' || oid.size() < 3) // for namespace, min size would be 3: _x_
+    if (oid.size() < 3) // for namespace, min size would be 3: _x_
       return false;
 
-    int pos = oid.find('_', 1);
-    if (pos <= 1) // if it starts with __, it's not in our namespace
+    size_t pos = oid.find('_', 2); // oid must match ^_[^_].+$
+    if (pos == string::npos)
       return false;
 
     key->ns = oid.substr(1, pos - 1);