[rhinstaller/blivet/pulls/63 master] Bits needed to enforce sane disk selection in anaconda

mulkieran installerbot-noreply at redhat.com
Wed Apr 1 17:43:57 UTC 2015


> @@ -361,28 +361,48 @@ def processActions(self, dryRun=False, callbacks=None):
>                               dryRun=dryRun,
>                               callbacks=callbacks)
>  
> -    def getDependentDevices(self, dep):
> +    def getDependentDevices(self, dep, hidden=False):
>          """ Return a list of devices that depend on dep.
>  
>              The list includes both direct and indirect dependents.
>  
>              :param dep: the device whose dependents we are looking for
>              :type dep: :class:`~.devices.StorageDevice`
> +            :keyword bool hidden: include hidden devices in search
>          """
>          dependents = []
> +        log_method_call(self, dep=dep, hidden=hidden)
>  
>          # don't bother looping looking for dependents if this is a leaf device
> -        if dep.isleaf:
> +        # XXX all hidden devices are leaves
> +        if dep.isleaf and not hidden:
> +            log.debug("dep is a leaf")
>              return dependents
>  
> -        incomplete = [d for d in self._devices
> -                            if not getattr(d, "complete", True)]
> -        for device in self.devices + incomplete:
> +        devices = self._devices[:]
> +        if hidden:
> +            devices.extend(self._hidden)
> +
> +        for device in devices:
> +            log.debug("checking if %s depends on %s", device.name, dep.name)
>              if device.dependsOn(dep):
>                  dependents.append(device)
>  
>          return dependents
>  
> +    def getRelatedDisks(self, disk):
> +        """ Return a list of disks related to disk by container membership.

Literally, it returns a set, not a list.

-- 
To view this pull request on github, visit https://github.com/rhinstaller/blivet/pull/63#discussion_r27592328


More information about the anaconda-patches mailing list