Problem:

Windows 10 Upgrade fails with error 0x80070057.

Symptoms:

The following appears in the setup error log:
Code:
2016-08-03 13:38:34, Error                 SP     SPMountWIMCallback: Error mounting/unmouting C:\$WINDOWS.~BT\Sources\SafeOS\SafeOS.Mount\windows\winsxs\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_10.0.14393.0_none_36d3ccc3ddfd1ecb\CbsMsg.dll. GLE [87][gle=0x00000057]
2016-08-03 13:38:44, Error                 SP     CMountWIM::DoExecute: Failed to mount WIM file C:\$WINDOWS.~BT\Sources\SafeOS\winre.wim. Error 0x80070057[gle=0x00000057]
2016-08-03 13:38:44, Error                 SP     Operation failed: Mount WIM file C:\$WINDOWS.~BT\Sources\SafeOS\winre.wim, index 1 to C:\$WINDOWS.~BT\Sources\SafeOS\SafeOS.Mount. Error: 0x80070057[gle=0x000000b7]
2016-08-03 13:38:44, Error                 MOUPG  MoSetupPlatform: ExecuteCurrentOperations reported failure!
2016-08-03 13:38:44, Error                 MOUPG  MoSetupPlatform: Using action error code: [0x80070057]
2016-08-03 13:38:44, Error                 MOUPG  CDlpActionImageDeploy::ExecuteRoutine(403): Result = 0x80070057
Description:

As indicated in the log, the problem is caused by the system failing to mount the WIM file.
This can be confirmed by attempting to mount a WIM file using the command line.

Code:
DISM.exe /Mount-Image /ImageFile:somefile.wim /Index:1 /MountDir:C:\Temp /ReadOnly
This will result in the error Code 87, and the DISM log will indicate Invalid Parameter, which is error code 0x80070057.

This has been observed when a filter driver is interfering with the SetFileSize call.

Check the loaded filter drivers with the command:

Code:
fltmc filters
The list may contain cbfltfs4 (which is cbfltfs4.sys), a virtual disk image redirection filter driver or something similar.

Solution:

Disable third party filter drivers and attempt the upgrade again.