ocf/src/engine
Robert Baldyga fd489e3a30 Fix potential deadlock in discard
HB lock takes inclusive metadata lock, which is taken also by metadata
flush, thus trying to call metadata flush under HB lock attempts to take
this lock recursively. In that case, if in the meantime some other thread
would try to take exclusive metadata lock, the inner inclusive lock would
block (because the lock keeps the order), with outer inclusive lock still
held, leading to a deadlock.

Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-03-20 23:35:46 +01:00
..
cache_engine.c Get rid of req->io_if 2022-09-07 23:07:04 +02:00
cache_engine.h Get rid of req->io_if 2022-09-07 23:07:04 +02:00
engine_bf.c Merge pull request #750 from robertbaldyga/remove-req-io-if 2022-09-08 22:59:57 +02:00
engine_bf.h Fix license 2021-10-28 13:08:50 +02:00
engine_common.c Get rid of req->io_if 2022-09-07 23:07:04 +02:00
engine_common.h Get rid of req->io_if 2022-09-07 23:07:04 +02:00
engine_d2c.c remove ocf_io_start function 2022-10-28 15:03:36 +02:00
engine_d2c.h Fix license 2021-10-28 13:08:50 +02:00
engine_debug.h Fix license 2021-10-28 13:08:50 +02:00
engine_discard.c Fix potential deadlock in discard 2024-03-20 23:35:46 +01:00
engine_discard.h Fix license 2021-10-28 13:08:50 +02:00
engine_fast.c remove ocf_io_start function 2022-10-28 15:03:36 +02:00
engine_fast.h Fix license 2021-10-28 13:08:50 +02:00
engine_inv.c Get rid of req->io_if 2022-09-07 23:07:04 +02:00
engine_inv.h Fix license 2021-10-28 13:08:50 +02:00
engine_ops.c Fix ops(flush) engine 2022-06-01 22:33:35 +02:00
engine_ops.h Fix license 2021-10-28 13:08:50 +02:00
engine_pt.c Unlock request in PT using ocf_req_unlock() 2023-09-13 17:04:06 +02:00
engine_pt.h Fix license 2021-10-28 13:08:50 +02:00
engine_rd.c remove ocf_io_start function 2022-10-28 15:03:36 +02:00
engine_rd.h Fix license 2021-10-28 13:08:50 +02:00
engine_wa.c remove ocf_io_start function 2022-10-28 15:03:36 +02:00
engine_wa.h Fix license 2021-10-28 13:08:50 +02:00
engine_wb.c remove ocf_io_start function 2022-10-28 15:03:36 +02:00
engine_wb.h Fix license 2021-10-28 13:08:50 +02:00
engine_wi.c remove ocf_io_start function 2022-10-28 15:03:36 +02:00
engine_wi.h Fix license 2021-10-28 13:08:50 +02:00
engine_wo.c remove ocf_io_start function 2022-10-28 15:03:36 +02:00
engine_wo.h Fix license 2021-10-28 13:08:50 +02:00
engine_wt.c remove ocf_io_start function 2022-10-28 15:03:36 +02:00
engine_wt.h Fix license 2021-10-28 13:08:50 +02:00
engine_zero.c Get rid of req->io_if 2022-09-07 23:07:04 +02:00
engine_zero.h Fix license 2021-10-28 13:08:50 +02:00