On 12/15/2014 09:27 PM, Michal Privoznik wrote:
On 15.12.2014 07:46, Luyao Huang wrote:
>
https://bugzilla.redhat.com/show_bug.cgi?id=1174096
>
> When both parameter have lockspaces present, virDomainLeaseIndex
> will always -1 even there is a lease the same with the one we check.
> I think we shouldn't do 'continue' when the two lockspaces are the same.
>
> Signed-off-by: Luyao Huang <lhuang(a)redhat.com>
> ---
> src/conf/domain_conf.c | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index 5cf0b1a..f36affc 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -11667,13 +11667,14 @@ int virDomainLeaseIndex(virDomainDefPtr def,
>
> for (i = 0; i < def->nleases; i++) {
> vlease = def->leases[i];
> - /* Either both must have lockspaces present which match.. */
> - if (vlease->lockspace && lease->lockspace &&
> - STRNEQ(vlease->lockspace, lease->lockspace))
> - continue;
> + /* Either both must have lockspaces present which match.. */
> + if (vlease->lockspace && lease->lockspace) {
> + if (STRNEQ(vlease->lockspace, lease->lockspace))
> + continue;
> /* ...or neither must have a lockspace present */
> - if (vlease->lockspace || lease->lockspace)
> + } else if (vlease->lockspace || lease->lockspace)
> continue;
When an 'if' statement has body enclosed in brackets, so must have the
'else' branch.
Ohhh, i see. Thanks a lot for your pointing out :)
> +
> if (STREQ(vlease->key, lease->key))
> return i;
> }
>
ACked, fixed and pushed.
Thanks
Michal
Luyao