Centos-kernel-stream-9/net/ceph
Ilya Dryomov fbb59ee91f libceph: fix potential hang in ceph_osdc_notify()
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2229303

commit e6e2843230799230fc5deb8279728a7218b0d63c
Author: Ilya Dryomov <idryomov@gmail.com>
Date:   Tue Aug 1 19:14:24 2023 +0200

    libceph: fix potential hang in ceph_osdc_notify()

    If the cluster becomes unavailable, ceph_osdc_notify() may hang even
    with osd_request_timeout option set because linger_notify_finish_wait()
    waits for MWatchNotify NOTIFY_COMPLETE message with no associated OSD
    request in flight -- it's completely asynchronous.

    Introduce an additional timeout, derived from the specified notify
    timeout.  While at it, switch both waits to killable which is more
    correct.

    Cc: stable@vger.kernel.org
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
    Reviewed-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
    Reviewed-by: Xiubo Li <xiubli@redhat.com>

Signed-off-by: Ilya Dryomov <idryomov@redhat.com>
2023-08-04 22:22:10 +02:00
..
crush libceph: use swap() macro instead of taking tmp variable 2022-12-12 13:23:01 +08:00
Kconfig
Makefile
armor.c
auth.c
auth_none.c
auth_none.h
auth_x.c
auth_x.h
auth_x_protocol.h
buffer.c mm: allow !GFP_KERNEL allocations for kvmalloc 2022-10-12 07:27:39 -04:00
ceph_common.c mm: allow !GFP_KERNEL allocations for kvmalloc 2022-10-12 07:27:39 -04:00
ceph_hash.c
ceph_strings.c
cls_lock_client.c
crypto.c mm: allow !GFP_KERNEL allocations for kvmalloc 2022-10-12 07:27:39 -04:00
crypto.h
debugfs.c
decode.c
messenger.c rbd: harden get_lock_owner_info() a bit 2023-08-04 22:22:09 +02:00
messenger_v1.c libceph: optionally use bounce buffer on recv path in crc mode 2022-05-10 13:08:13 -04:00
messenger_v2.c libceph: harden msgr2.1 frame segment length checks 2023-07-18 17:16:29 +02:00
mon_client.c
msgpool.c
osd_client.c libceph: fix potential hang in ceph_osdc_notify() 2023-08-04 22:22:10 +02:00
osdmap.c libceph: print fsid and epoch with osd id 2022-12-12 13:36:55 +08:00
pagelist.c libceph: fix ceph_pagelist_reserve() comment typo 2022-12-12 13:36:59 +08:00
pagevec.c
snapshot.c
string_table.c
striper.c