Started zesty container with s390-tools 1.37.0-0ubuntu3. Reproduced the problem using the simplified upstream test case:
$ chzdev -e -p zfcp-lun 0x0000:0x0000000000000000:0x0000000000000000 $ chzdev -e -p zfcp-lun 0x0000:0x0000000000000001:0x0000000000000000 $ chzdev -e -p zfcp-lun 0x0000:0x0000000000000000:0x0000000000000001
The generated rules were:
LABEL="start_zfcp_lun_0.0.0000" SUBSYSTEM=="fc_remote_ports", ATTR{port_name}=="0x0000000000000000", GOTO="cfg_fc_0.0.0000_0x0000000000000000" SUBSYSTEM=="fc_remote_ports", ATTR{port_name}=="0x0000000000000001", GOTO="cfg_fc_0.0.0000_0x0000000000000001" SUBSYSTEM=="fc_remote_ports", ATTR{port_name}=="0x0000000000000000", GOTO="cfg_fc_0.0.0000_0x0000000000000000" GOTO="end_zfcp_lun_0.0.0000"
LABEL="cfg_fc_0.0.0000_0x0000000000000000" ATTR{[ccw/0.0.0000]0x0000000000000000/unit_add}="0x0000000000000000" GOTO="end_zfcp_lun_0.0.0000"
LABEL="cfg_fc_0.0.0000_0x0000000000000001" ATTR{[ccw/0.0.0000]0x0000000000000001/unit_add}="0x0000000000000000" GOTO="end_zfcp_lun_0.0.0000"
LABEL="cfg_fc_0.0.0000_0x0000000000000000" ATTR{[ccw/0.0.0000]0x0000000000000000/unit_add}="0x0000000000000001" GOTO="end_zfcp_lun_0.0.0000"
LABEL="end_zfcp_lun_0.0.0000"
Observe how duplicate ..0 labels and goto end result in inability to reach the unit_add}="0x0000000000000001" paragraph.
Upgraded to 1.37.0-0ubuntu3.1. Disabled all of these devices and re-eneabled them.
$ chzdev -d -p zfcp-lun 0x0000:0x0000000000000000:0x0000000000000000 $ chzdev -d -p zfcp-lun 0x0000:0x0000000000000001:0x0000000000000000 $ chzdev -d -p zfcp-lun 0x0000:0x0000000000000000:0x0000000000000001 $ chzdev -e -p zfcp-lun 0x0000:0x0000000000000000:0x0000000000000000 $ chzdev -e -p zfcp-lun 0x0000:0x0000000000000001:0x0000000000000000 $ chzdev -e -p zfcp-lun 0x0000:0x0000000000000000:0x0000000000000001
The new rules combine the ...0 and ..1 devices under non-duplicate label, thus all states are now reachable.
LABEL="start_zfcp_lun_0.0.0000" SUBSYSTEM=="fc_remote_ports", ATTR{port_name}=="0x0000000000000000", GOTO="cfg_fc_0.0.0000_0x0000000000000000" SUBSYSTEM=="fc_remote_ports", ATTR{port_name}=="0x0000000000000001", GOTO="cfg_fc_0.0.0000_0x0000000000000001" GOTO="end_zfcp_lun_0.0.0000"
LABEL="cfg_fc_0.0.0000_0x0000000000000000" ATTR{[ccw/0.0.0000]0x0000000000000000/unit_add}="0x0000000000000000" ATTR{[ccw/0.0.0000]0x0000000000000000/unit_add}="0x0000000000000001" GOTO="end_zfcp_lun_0.0.0000"
zesty verification is done.
Started zesty container with s390-tools 1.37.0-0ubuntu3. Reproduced the problem using the simplified upstream test case:
$ chzdev -e -p zfcp-lun 0x0000: 0x0000000000000 000:0x000000000 0000000 0x0000000000000 001:0x000000000 0000000 0x0000000000000 000:0x000000000 0000001
$ chzdev -e -p zfcp-lun 0x0000:
$ chzdev -e -p zfcp-lun 0x0000:
The generated rules were:
LABEL=" start_zfcp_ lun_0.0. 0000" ="fc_remote_ ports", ATTR{port_ name}== "0x000000000000 0000", GOTO="cfg_ fc_0.0. 0000_0x00000000 00000000" ="fc_remote_ ports", ATTR{port_ name}== "0x000000000000 0001", GOTO="cfg_ fc_0.0. 0000_0x00000000 00000001" ="fc_remote_ ports", ATTR{port_ name}== "0x000000000000 0000", GOTO="cfg_ fc_0.0. 0000_0x00000000 00000000" zfcp_lun_ 0.0.0000"
SUBSYSTEM=
SUBSYSTEM=
SUBSYSTEM=
GOTO="end_
LABEL=" cfg_fc_ 0.0.0000_ 0x0000000000000 000" 0.0.0000] 0x0000000000000 000/unit_ add}="0x0000000 000000000" zfcp_lun_ 0.0.0000"
ATTR{[ccw/
GOTO="end_
LABEL=" cfg_fc_ 0.0.0000_ 0x0000000000000 001" 0.0.0000] 0x0000000000000 001/unit_ add}="0x0000000 000000000" zfcp_lun_ 0.0.0000"
ATTR{[ccw/
GOTO="end_
LABEL=" cfg_fc_ 0.0.0000_ 0x0000000000000 000" 0.0.0000] 0x0000000000000 000/unit_ add}="0x0000000 000000001" zfcp_lun_ 0.0.0000"
ATTR{[ccw/
GOTO="end_
LABEL=" end_zfcp_ lun_0.0. 0000"
Observe how duplicate ..0 labels and goto end result in inability to reach the unit_add} ="0x00000000000 00001" paragraph.
Upgraded to 1.37.0-0ubuntu3.1. Disabled all of these devices and re-eneabled them.
$ chzdev -d -p zfcp-lun 0x0000: 0x0000000000000 000:0x000000000 0000000 0x0000000000000 001:0x000000000 0000000 0x0000000000000 000:0x000000000 0000001 0x0000000000000 000:0x000000000 0000000 0x0000000000000 001:0x000000000 0000000 0x0000000000000 000:0x000000000 0000001
$ chzdev -d -p zfcp-lun 0x0000:
$ chzdev -d -p zfcp-lun 0x0000:
$ chzdev -e -p zfcp-lun 0x0000:
$ chzdev -e -p zfcp-lun 0x0000:
$ chzdev -e -p zfcp-lun 0x0000:
The new rules combine the ...0 and ..1 devices under non-duplicate label, thus all states are now reachable.
LABEL=" start_zfcp_ lun_0.0. 0000" ="fc_remote_ ports", ATTR{port_ name}== "0x000000000000 0000", GOTO="cfg_ fc_0.0. 0000_0x00000000 00000000" ="fc_remote_ ports", ATTR{port_ name}== "0x000000000000 0001", GOTO="cfg_ fc_0.0. 0000_0x00000000 00000001" zfcp_lun_ 0.0.0000"
SUBSYSTEM=
SUBSYSTEM=
GOTO="end_
LABEL=" cfg_fc_ 0.0.0000_ 0x0000000000000 000" 0.0.0000] 0x0000000000000 000/unit_ add}="0x0000000 000000000" 0.0.0000] 0x0000000000000 000/unit_ add}="0x0000000 000000001" zfcp_lun_ 0.0.0000"
ATTR{[ccw/
ATTR{[ccw/
GOTO="end_
LABEL=" cfg_fc_ 0.0.0000_ 0x0000000000000 001" 0.0.0000] 0x0000000000000 001/unit_ add}="0x0000000 000000000" zfcp_lun_ 0.0.0000"
ATTR{[ccw/
GOTO="end_
LABEL=" end_zfcp_ lun_0.0. 0000"
zesty verification is done.