[PATCH v2] um: ubd: Submit all data segments atomically

Gabriel Krisman Bertazi krisman at collabora.com
Wed Dec 9 08:56:01 EST 2020


Gabriel Krisman Bertazi <krisman at collabora.com> writes:

> Internally, UBD treats each physical IO segment as a separate command to
> be submitted in the execution pipe.  If the pipe returns a transient
> error after a few segments have already been written, UBD will tell the
> block layer to requeue the request, but there is no way to reclaim the
> segments already submitted.  When a new attempt to dispatch the request
> is done, those segments already submitted will get duplicated, causing
> the WARN_ON below in the best case, and potentially data corruption.

[...]

> Cc: Christopher Obbard <chris.obbard at collabora.com>
> Reported-by: Martyn Welch <martyn at collabora.com>
> Signed-off-by: Gabriel Krisman Bertazi <krisman at collabora.com>
> Tested-by: Christopher Obbard <chris.obbard at collabora.com>
> Acked-by: Anton Ivanov <anton.ivanov at cambridgegreys.com>

ping. :)

-- 
Gabriel Krisman Bertazi



More information about the linux-um mailing list