[rhel6-branch] Properly check and show warnings for LDL DASDs (#1144979)
Jan Stodola
jstodola at redhat.com
Fri Jan 16 09:50:00 UTC 2015
On 01/15/2015 07:59 PM, Samantha N. Bueno wrote:
> My former patch for this (d8e96265) added unformatted DASDs and LDL
> DASDs to the same list of disks needing dasdfmt.
>
> Unfortunately, this means if you enter "zerombr" in your ks file, LDL
> DASDs will have dasdfmt run against them, even if you only wanted
> unformatted DASDs to be formatted. Since users probably won't (a) expect
> or (b) want this behavior, we should maintain two separate lists. A new
> pykickstart --cdl option can be checked in order to determine whether or
> not to dasdfmt any LDL DASDs.
>
> (No, this isn't complicated or anything.)
>
> Resolves: rhbz#1144979
> ---
> storage/dasd.py | 31 ++++++++++++++++++++++---------
> 1 file changed, 22 insertions(+), 9 deletions(-)
>
> diff --git a/storage/dasd.py b/storage/dasd.py
> index 1576048..10fbc58 100644
> --- a/storage/dasd.py
> +++ b/storage/dasd.py
> @@ -46,6 +46,7 @@ class DASD:
>
> def __init__(self):
> self._dasdlist = []
> + self._ldldasdlist = []
> self._devices = [] # list of DASDDevice objects
> self.totalCylinders = 0
> self._completedCylinders = 0.0
> @@ -104,11 +105,7 @@ class DASD:
> elif isys.isLdlDasd(device):
> log.info(" %s (%s) is an LDL DASD, needs dasdfmt" % (device,
> bypath))
> - self._dasdlist.append((device, bypath))
> -
> - if not len(self._dasdlist):
> - log.info(" no unformatted or LDL DASD devices found")
> - return
> + self._ldldasdlist.append((device, bypath))
>
> askUser = True
>
> @@ -119,11 +116,26 @@ class DASD:
> "command, unable to run dasdfmt, exiting installer")
> sys.exit(0)
>
> - c = len(self._dasdlist)
> + # now onto formatting our DASDs
> + if not len(self._dasdlist):
> + log.info(" no unformatted DASD devices found")
> + return
return and do not ask to format LDL disks?
> + else:
> + self.format_dasds(intf, askUser, self._dasdlist)
> +
> + if not len(self._ldldasdlist):
> + log.info(" no LDL DASD devices found")
> + return
> + else:
> + self.format_dasds(intf, askUser, self._ldldasdlist)
> +
> + def format_dasds(self, intf, askUser, dasdlist):
> + """ Iterate through a given list of DASDs and run dasdfmt on them. """
> + c = len(dasdlist)
>
> if intf and askUser:
> devs = ''
> - for dasd, bypath in self._dasdlist:
> + for dasd, bypath in dasdlist:
> devs += "%s\n" % (bypath,)
>
> rc = intf.questionInitializeDASD(c, devs)
> @@ -133,7 +145,7 @@ class DASD:
>
> # gather total cylinder count
> argv = ["-t", "-v"] + self.commonArgv
> - for dasd, bypath in self._dasdlist:
> + for dasd, bypath in dasdlist:
> buf = iutil.execWithCapture(self.dasdfmt, argv + ["/dev/" + dasd],
> stderr=err)
> for line in buf.splitlines():
> @@ -158,7 +170,7 @@ class DASD:
> else:
> pw = intf.progressWindow(title, msg, 100, pulse=True)
>
> - for dasd, bypath in self._dasdlist:
> + for dasd, bypath in dasdlist:
> log.info("Running dasdfmt on %s" % (bypath,))
> arglist = argv + ["/dev/" + dasd]
>
> @@ -184,6 +196,7 @@ class DASD:
>
> if intf:
> pw.pop()
> + return
>
> def addDASD(self, dasd):
> """ Adds a DASDDevice to the internal list of DASDs. """
--
Jan Stodola
Quality Assurance Engineer
Red Hat Czech s.r.o., Purkynova 99/71, 612 45 Brno, Czech Republic
Email: jstodola at redhat.com
More information about the anaconda-patches
mailing list