]> git.baikalelectronics.ru Git - kernel.git/commit
libceph: behave in mon_fault() if cur_mon < 0
authorIlya Dryomov <idryomov@gmail.com>
Sat, 23 Jan 2016 14:57:51 +0000 (15:57 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Fri, 25 Mar 2016 17:51:40 +0000 (18:51 +0100)
commit74186d93d458e6a803b69226512d2b2f9eb80779
tree16dcc0c8a99d937f412e0986a33591c21cf33aa4
parente5e219c8821214e4c5df6e0a497cae4c4ac77a01
libceph: behave in mon_fault() if cur_mon < 0

This can happen if __close_session() in ceph_monc_stop() races with
a connection reset.  We need to ignore such faults, otherwise it's
likely we would take !hunting, call __schedule_delayed() and end up
with delayed_work() executing on invalid memory, among other things.

The (two!) con->private tests are useless, as nothing ever clears
con->private.  Nuke them.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
net/ceph/mon_client.c