Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Internal changes:
- s390x: Fix `write()` to `write_all()` in initrd generation to prevent silent truncation
- s390x: Minor code cleanups in dasd and zipl handling
- s390x: Fix lszdev bus ID regex: escape dots and add parser tests
- s390x: Clear LOADDEV before setting it to avoid conflicts when multiple disks were previously used as LOADDEV

Packaging changes:

Expand Down
8 changes: 8 additions & 0 deletions src/s390x/zipl.rs
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,14 @@ pub fn set_loaddev<P: AsRef<Path>>(dev: P) -> Result<()> {
if !Path::new("/dev/vmcp").exists() {
return Ok(());
}
// If several disks are attached to zVM, more than one may have been used as LOADDEV,
// which would cause an error like:
// HCPFCL1613E An attempt was made to set both SCSI and ECKD parameters for a future IPL. These are conflicting parameters.
// Ignore any error; the subsequent set will fail if this is a real problem.
eprintln!("Clearing LOADDEV");
if let Err(e) = runcmd!("vmcp", "set", "loaddev", "clear") {
Comment thread
coderabbitai[bot] marked this conversation as resolved.
eprintln!("Clearing LOADDEV failed: {e}");
}
eprintln!("Setting LOADDEV");
let mut cmd = Command::new("vmcp");
cmd.arg("set").arg("loaddev");
Expand Down
Loading