[rhel6-branch] Properly check and show warnings for LDL DASDs (#1144979)
Samantha N. Bueno
sbueno+anaconda at redhat.com
Mon Jan 19 15:49:50 UTC 2015
On Fri, Jan 16, 2015 at 10:50:00AM +0100, Jan Stodola wrote:
> 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?
Yes yes, those return statements are removed in my later patch (for
#1164240), but they should be in this one. As I told Chris in my
response to him, I'll post follow-up patches today.
> >+ 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
>
> _______________________________________________
> anaconda-patches mailing list
> anaconda-patches at lists.fedorahosted.org
> https://lists.fedorahosted.org/mailman/listinfo/anaconda-patches
More information about the anaconda-patches
mailing list