Re: [PATCH] Write rd_CCW when root fs is on a network device on s390x (#577193)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 04/01/2010 02:45 AM, Steffen Maier wrote:
> On 03/30/2010 11:09 PM, David Cantrell wrote:
>> The dracutSetupString() method in the Network class needed to write out
>> the rd_CCW parameter, which is necessary for network devices on s390x.
>> The format is described in the dracut(8) man page.  The required
>> information has always been written to the ifcfg-DEVICE file, so we just
>> need to make sure it gets to dracut as well.
>> ---
>>  network.py |   13 +++++++++++++
>>  1 files changed, 13 insertions(+), 0 deletions(-)
>>
>> diff --git a/network.py b/network.py
>> index 2fabff1..233ea50 100644
>> --- a/network.py
>> +++ b/network.py
>> @@ -823,4 +823,17 @@ class Network:
>>
>>              netargs += "ifname=%s:%s" % (nic, hwaddr.lower())
>>
>> +        nettype = dev.get("NETTYPE")
>> +        subchannels = dev.get("SUBCHANNELS")
>> +        if iutil.isS390() and nettype and subchannels:
>> +            if netargs != "":
>> +                netargs += " "
>> +
>> +            netargs += "rd_CCW=%s,%s" % (nettype, subchannels)
>> +
>> +            options = dev.get("OPTIONS")

Meanwhile I realized that NETTYPE, SUBCHANNELS, and OPTIONS are not
sufficient since there can also be PORTNAME and CTCPROT. Please see
http://fedorapeople.org/gitweb?p=sharkcz/public_git/utils.git;a=blob;f=ccw_init;h=34483e99b68a52f5fb7487aad56a0c2d7e0d22ac;hb=35e726e6375a0a15f39a72d79470611f0706d8e4
near the comment "# translate variables from the interface config files
to OPTIONS" for how to handle PORTNAME and CTCPROT correctly depending
on the NETTYPE and transform it into the corresponding sysfs attribute
names which dracut uses consistently.

>> +            if options:
>> +                options = filter(lambda x: x != '', options.split(' '))
>> +                netargs += ",%s" % (','.join(options))
> 
> Does this work with quoted arguments of OPTIONS, which we need  because
> of the whitespace separated suboptions (anaconda does remove double
> quotes on parsing ifcfg which is why linuxrc writes single quotes here)
> 
> OPTIONS='layer2=1 portno=0'
> 
> and we get (assuming NETTYPE=qeth and
> SUBCHANNELS=0.0.0a00,0.0.0a01,0.0.0a02)
> 
> rd_CCW=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0
> 
> or do we get the non-functional following instead
> since you only split the options at spaces
> 
> rd_CCW=qeth,0.0.0a00,0.0.0a01,0.0.0a02,'layer2=1,portno=0'
> 
> ?
> 
>> +
>>          return netargs


Steffen

Linux on System z Development

IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294


_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list


[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux