Bug 40803 - propagator: load_ramdisk_fd: sloppy error handling
Summary: propagator: load_ramdisk_fd: sloppy error handling
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: propagator (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Alexey Sheplyakov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 40766
  Show dependency tree
 
Reported: 2021-08-23 14:41 MSK by Alexey Sheplyakov
Modified: 2021-09-07 14:19 MSK (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Sheplyakov 2021-08-23 14:41:12 MSK
http://git.altlinux.org/gears/p/propagator.git?p=propagator.git;a=blob;f=tools.c;h=bbe6289791625df88dcbd113e9f6b17d86dbac65;hb=095e17ab91a18021753ac82142fd9c2100a6bc78#l315

Если чтение хоть раз произошло успешно, то seems_ok = 1.
Однако если потом read выдаст ошибку (например, сервер закрыл соединение,
или пользователь внезапно вынул флешку, с которой грузились, и т.п.),
то её `load_ramdisk_fd` уже не проверяет, а просто монтирует тот кусок,
который удалось прочитать. В лучшем случае ругнётся, а в худшем - повиснет,
и не сразу, а когда squashfs не найдёт нужного блока. И тогда уже трудно
понять, что произошло.

Неоднократно нарывался на такое при загрузке по http (ядро виснет, иногда
squashfs успевает ругнуться).
Comment 1 Repository Robot 2021-09-07 14:19:29 MSK
propagator-20210907-alt1 -> sisyphus:

 Tue Sep 07 2021 Alexey Sheplyakov <asheplyakov@altlinux> 20210907-alt1
 - Improved IO errors handling when loading stage2 (closes: #40803)
 - Support loading stage2 images >= 2GB (related: #40710)