]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/PrimaryLogPG: disallow ops on objects with an empty name
authorSage Weil <sage@redhat.com>
Thu, 2 May 2019 16:30:09 +0000 (11:30 -0500)
committerNathan Cutler <ncutler@suse.com>
Tue, 23 Jul 2019 14:58:02 +0000 (16:58 +0200)
These may conflict with pgmeta objects.  And are going to cause other
problems later (e.g., https://tracker.ceph.com/issues/38724).

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit bf6e8a4a4db8b7d7101ca80b844ee953aa4580b2)

src/osd/PrimaryLogPG.cc

index bffe72ccaa03746e06c79818a5f521d686eb5ed7..0a0c2967fe0b1419780e34ee067c97cbc7bb05e6 100644 (file)
@@ -2052,6 +2052,11 @@ void PrimaryLogPG::do_op(OpRequestRef& op)
     osd->reply_op_error(op, -ENAMETOOLONG);
     return;
   }
+  if (m->get_hobj().oid.name.empty()) {
+    dout(4) << "do_op empty oid name is not allowed" << dendl;
+    osd->reply_op_error(op, -EINVAL);
+    return;
+  }
 
   if (int r = osd->store->validate_hobject_key(head)) {
     dout(4) << "do_op object " << head << " invalid for backing store: "