]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd/PG.cc: handle removal of pgmeta object 41682/head
authorNeha Ojha <nojha@redhat.com>
Thu, 3 Jun 2021 16:25:01 +0000 (16:25 +0000)
committerNeha Ojha <nojha@redhat.com>
Thu, 3 Jun 2021 16:25:01 +0000 (16:25 +0000)
commit790ea2f15760645f88b077af410141aeba5d6237
treeebc2386d2614d80088e115ab35ed4f6ce4b86662
parentbf8cfe76a510aab4c2eb4b4fe9e458888b730576
osd/PG.cc: handle removal of pgmeta object

In 7f04700, we made the pg removal code
much more efficient. But it started marking the pgmeta object as an unexpected
onode, which in reality is expected to be removed after all the other objects.

This behavior is very easily reproducible in a vstart cluster:

ceph osd pool create test 1 1
rados -p test bench 10 write --no-cleanup
ceph osd pool delete test test  --yes-i-really-really-mean-it

Before this patch:

"do_delete_work additional unexpected onode list (new onodes has appeared
since PG removal started[#2:00000000::::head#]" seen in the OSD logs.

After this patch:

"do_delete_work removing pgmeta object #2:00000000::::head#" is seen.

Related to:https://tracker.ceph.com/issues/50466
Signed-off-by: Neha Ojha <nojha@redhat.com>
Manually applied 0e917f1b1e18ca9e48b3f91110d3a46b086f7d83, because
nautilus does not have do_delete_work.

Signed-off-by: Neha Ojha <nojha@redhat.com>
src/osd/PG.cc