[libvirt] [PATCH] Don't drop expired lease while reading custom leases file
Michal Privoznik
mprivozn at redhat.com
Fri Sep 30 13:08:46 UTC 2016
On 30.09.2016 14:22, Nehal J Wani wrote:
> On Fri, Sep 30, 2016 at 5:47 PM, Michal Privoznik <mprivozn at redhat.com> wrote:
>> On 28.09.2016 21:39, Nehal J Wani wrote:
>>> Libvirt, on its own, shouldn't decide whether an expired lease should
>>> stay in the custom leases database or not. It should rather rely on
>>> the 'DEL' event from dnsmasq.
>>> ---
>>> src/util/virlease.c | 8 --------
>>> 1 file changed, 8 deletions(-)
>>>
>>> diff --git a/src/util/virlease.c b/src/util/virlease.c
>>> index 920ebaf..b49105d 100644
>>> --- a/src/util/virlease.c
>>> +++ b/src/util/virlease.c
>>> @@ -57,7 +57,6 @@ virLeaseReadCustomLeaseFile(virJSONValuePtr leases_array_new,
>>> {
>>> char *lease_entries = NULL;
>>> virJSONValuePtr leases_array = NULL;
>>> - long long currtime = 0;
>>> long long expirytime;
>>> int custom_lease_file_len = 0;
>>> virJSONValuePtr lease_tmp = NULL;
>>> @@ -66,8 +65,6 @@ virLeaseReadCustomLeaseFile(virJSONValuePtr leases_array_new,
>>> size_t i;
>>> int ret = -1;
>>>
>>> - currtime = (long long) time(NULL);
>>> -
>>> /* Read entire contents */
>>> if ((custom_lease_file_len = virFileReadAll(custom_lease_file,
>>> VIR_NETWORK_DHCP_LEASE_FILE_SIZE_MAX,
>>> @@ -109,11 +106,6 @@ virLeaseReadCustomLeaseFile(virJSONValuePtr leases_array_new,
>>> _("failed to parse json"));
>>> goto cleanup;
>>> }
>>> - /* Check whether lease has expired or not */
>>> - if (expirytime < currtime) {
>>> - i++;
>>> - continue;
>>> - }
>>>
>>> /* Check whether lease has to be included or not */
>>> if (ip_to_delete && STREQ(ip_tmp, ip_to_delete)) {
>>>
>>
>> Well, I like this patch. I really do. I always felt like read() function
>> should not do any validation and just present called the data. However,
>> this "breaks" the nsstest. We have two options here: either merge the
>> other patch of yours that fixes the NSS module, or temporarily just
>> "fix" the nss test (so that we can undo the change while merging the
>> other patch).
>> Which one of those two approaches do you like more?
>>
>> Michal
>
> I like the approach where the NSS module is fixed first, and then
> virLeaseReadCustomLeaseFile() is fixed. This way, we won't break
> anything in between and won't have to change anything temporarily.
>
Ah good point. In that case do you mind fixing all the small nits I've
raised and sending these patches not separately but in a series in the
correct order?
Michal
More information about the libvir-list
mailing list