[PATCH 0/3] drivers base: transport component error propagation

From: Gabriel Krisman Bertazi
Date: Mon Jan 06 2020 - 13:58:30 EST


Hi,

This small series improves error propagation on the transport component
to prevent an inconsistent state in the iscsi module. The bug that
motivated this patch results in a hanging iscsi connection that cannot
be used or removed by userspace, since the session is in an inconsistent
state.

That said, I tested it using the TCP iscsi transport (and forcing errors
on the triggered function), which doesn't require a particularly complex
container structure, so it is not the best test for finding corner cases
on the atomic attribute_container_device trigger version.

Please let me know what you think.

Gabriel Krisman Bertazi (3):
drivers: base: Support atomic version of
attribute_container_device_trigger
drivers: base: Propagate errors through the transport component
iscsi: Fail session and connection on transport registration failure

drivers/base/attribute_container.c | 103 ++++++++++++++++++++++++++++
drivers/base/transport_class.c | 11 ++-
drivers/scsi/scsi_transport_iscsi.c | 18 ++++-
include/linux/attribute_container.h | 7 ++
include/linux/transport_class.h | 6 +-
5 files changed, 137 insertions(+), 8 deletions(-)

--
2.24.1