Closed orangecms closed 11 months ago
Notes:
I commted out the cleanup to keep the temp dir.
A manual mv
works.
The rename is across file systems as the error suggests; /boot/efi/
is the ESP mount point
Okay sooo...
My simple suggestion is to create the temp dir also within the EFI dir to avoid moving across file systems. Otherwise, it might be necessary to implement some sort of transaction stuff etc.. Or am I just missing something? WDYT?
I have the exact same issue, both when trying to schedule the update through the CLI and through the settings UI. I'm on a darp8 if that's relevant at all.
My simple suggestion is to create the temp dir also within the EFI dir to avoid moving across file systems.
That's what with_prefix_in
(previously new_in
) does.
I got the order wrong:
tempfile::TempDir::with_prefix_in(efi_dir, "system76-firmware-update")
Should be:
tempfile::TempDir::with_prefix_in("system76-firmware-update", efi_dir)
Ah, and I was already confused what that would do or why it didn't work. :)
Using the CLI command
schedule
, I get this error:I found this to be the final
fs::rename
failing, and others had this issue with Rust before.Investigating; PR to follow (I hope :))