9b5f4eb call aug_load() at most once per second

Authored and Committed by Laine Stump 8 years ago
    call aug_load() at most once per second
    
    Previously, netcf would call aug_load() at the start of each public
    API call, and rely on augeas quickly determining if the files needed
    to be reread based on checking the mtime of all files. With a large
    number of files (i.e. several hundred ifcfg files) just checking the
    mtime of all files ends up taking quite a long time; enough to turn a
    simple "virsh iface-list" of 300 bridges + 300 vlans into a 22 second
    ordeal.
    
    With this patch applied, netcf will only call aug_load() at most once
    every second, resulting in runtime for virsh iface-list going down to
    < 1 second.
    
    The trade-off is that the results of a netcf API call could be up to 1
    second out of date (but only due to changes in the config external to
    netcf). Since ifcfg files change very infrequently, this is likely
    acceptable.
    
        
file modified
+7 -1
file modified
+1 -0