> +      operateOverInstanceDisk m (Just ist) =
> +        case elemIndex dUuid (instDisks ist) of
> +          Nothing -> throwError . ConfigurationError $
> +            printf "Disk %s is not attached to instance %s" dUuid iUuid

As explained on your last draft of that patch, such an operation is not
repeatable. Even over a domain socket, we have to expect that the connection
dies just after WConfD has completed the request (for all connections we
set a timeout in which we expect the answer, the process might receive a
signal in that very moment, etc). In this case, the client will try again,
but your code cause an error instead of gracefully ignoring a request that
is already fulfilled.

-- 
Klaus Aehlig
Google Germany GmbH, Dienerstr. 12, 80331 Muenchen
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschaeftsfuehrer: Graham Law, Christine Elizabeth Flores

Reply via email to