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

Gabriel Krisman Bertazi krisman at collabora.com
Wed Nov 18 16:19:11 EST 2020


Anton Ivanov <anton.ivanov at cambridgegreys.com> writes:

> On 25/10/2020 04:41, Gabriel Krisman Bertazi wrote:
>> 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.
>> In my system, running a UML instance with 2GB of RAM and a 50M UBD
>> disk,

>>   [...]
>> ---[ end trace c6e7444e55386c0f ]---
>> 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>

> Acked-By: Anton Ivanov <anton.ivanov at cambridgegreys.com>

Hi,

Is this queued somewhere?  I've been watching the linux-next branch of
rw's tree.  Is that the right tree?

Thanks,

-- 
Gabriel Krisman Bertazi



More information about the linux-um mailing list