Master sync round 4 v2

This syncs with Lustre master up to commit eb22854 (LU-3581 osc: Lustre returns EINTR from writes when SA_RESTART is set).

v2: rebased to top of round 3 v2.