Skip to content
  • Kenneth D. Merry's avatar
    Free UMA zones when a pass(4) instance goes away. · ca2a7262
    Kenneth D. Merry authored
    If the UMA zones are not freed, we get warnings about re-using the
    sysctl variables associated with the UMA zones, and we're leaking
    the other memory associated with the zone structures.  e.g.:
    
    sysctl_warn_reuse: can't re-use a leaf (vm.uma.pass44.size)!
    sysctl_warn_reuse: can't re-use a leaf (vm.uma.pass44.flags)!
    sysctl_warn_reuse: can't re-use a leaf (vm.uma.pass44.bucket_size)!
    sysctl_warn_reuse: can't re-use a leaf (vm.uma.pass44.bucket_size_max)!
    sysctl_warn_reuse: can't re-use a leaf (vm.uma.pass44.keg.name)!
    sysctl_warn_reuse: can't re-use a leaf (vm.uma.pass44.keg.rsize)!
    sysctl_warn_reuse: can't re-use a leaf (vm.uma.pass44.keg.ppera)!
    sysctl_warn_reuse: can't re-use a leaf (vm.uma.pass44.keg.ipers)!
    
    Also, correctly clear the PASS_FLAG_ZONE_INPROG flag in
    passcreatezone().  The way it was previously done, it would have
    had set the flag and cleared all other flags that were set at
    that point.
    
    MFC after:	1 week
    Sponsored by:	Spectra Logic
    ca2a7262