Whenever an underlying provider returns an error, gmultipath will fail that path and retry the command on another path, if any more remain. So with n total paths, every failing command will be tried up to n times. But some errors can't possibly be path-related. For example, SCSI MEDIUM ERROR. Those failures should be passed up the stack with no retries.