diff options
author | Ilya Dryomov <idryomov@gmail.com> | 2017-06-15 16:30:55 +0200 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2017-07-07 17:25:16 +0200 |
commit | a10bcb19ae02cea7d5e6650fbc2de3ced46b4e5d (patch) | |
tree | 5d1d14ada42bce2e2d6cc68bb137a267b0d6353d /tools | |
parent | libceph: resend on PG splits if OSD has RESEND_ON_SPLIT (diff) | |
download | linux-a10bcb19ae02cea7d5e6650fbc2de3ced46b4e5d.tar.xz linux-a10bcb19ae02cea7d5e6650fbc2de3ced46b4e5d.zip |
libceph: delete from need_resend_linger before check_linger_pool_dne()
When processing a map update consisting of multiple incrementals, we
may end up running check_linger_pool_dne() on a lingering request that
was previously added to need_resend_linger list. If it is concluded
that the target pool doesn't exist, the request is killed off while
still on need_resend_linger list, which leads to a crash on a NULL
lreq->osd in kick_requests():
libceph: linger_id 18446462598732840961 pool does not exist
BUG: unable to handle kernel NULL pointer dereference at 0000000000000010
IP: ceph_osdc_handle_map+0x4ae/0x870
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions