Fix the long time ioctl problem.
On some boards ioctl() takes a long time (several seconds) to perform discarding blocks for a few hundred MB (which might be expected). This causes the UE (which is single threaded) to block for ioctl for several seconds and prevents the message loop from responding to dbus requests. 'update_engine_client --status' relies on dbus signals to get the status of the update engine. This can cause 'cros flash' or provisionning of devices to fail due error returned from ssh invokation of update_engine_client. This CL fixes the issue by doing BLKDISCARD before BLKSECDISCARD. Discarding the end of partition were originally added for b/28744609. BUG=chromium:734731 TEST=cros flash; test_that provision_AutoUpdate; Change-Id: I1f9b572f5155284b3aa399285630daee560573a0 Reviewed-on: https://chromium-review.googlesource.com/547015 Commit-Ready: Amin Hassani <ahassani@chromium.org> Tested-by:Amin Hassani <ahassani@chromium.org> Reviewed-by:
Gwendal Grignou <gwendal@chromium.org> Reviewed-by:
Grant Grundler <grundler@chromium.org> Reviewed-by:
Alex Deymo <deymo@google.com>
Loading
Please sign in to comment