v1
2026-10-16
tmpfs跨live update保留与提前冻结 · v1
LUO新增session提前冻结ioctl及preserve/retrieve每文件用户参数,使tmpfs文件跨live update保留。
原始补丁链接
子 Patch(7)
1/7
liveupdate: Add LIVEUPDATE_SESSION_FREEZE ioctl to freeze sessions early
新增 LIVEUPDATE_SESSION_FREEZE ioctl,让 outgoing LUO session 提前用 .freeze() 冻结并序列化 preserved files;冻结后禁加文件、重复返回 -EBUSY,kexec 跳过已冻结,释放时回滚。
2/7
selftests: liveupdate: Add tests for LIVEUPDATE_SESSION_FREEZE
在 liveupdate 测试库加 luo_session_freeze(),验证早冻结成功、重复 -EBUSY、冻结后 preserve fd 失败;并在 kexec 简单测试中提前冻结以覆盖路径。
3/7
liveupdate: Pass user argument to file preserve and retrieve
扩展 preserve/retrieve FD ioctl,增加 64-bit arg 指向 handler 定义参数结构(首字段 32-bit size),兼容旧 16-byte 调用;file_ops 加 parg/rarg 并用 LIVEUPDATE_ARG 校验。
4/7
selftests: liveupdate: Add tests for preserve and retrieve user argument
增加 preserve/retrieve 带参辅助和 memfd 用例,验证 memfd 非零 arg 返回 -EOPNOTSUPP、显式零可接受,并兼容旧结构大小。
5/7
liveupdate: Allow file handlers to mark retrieve failures as retryable
When luo_retrieve_file() invokes a handler’s .retrieve() callback and it returns an error, LUO currently records the error in luo_file->retrieve_status and blocks any subsequent retrieve attempts. Thi
6/7
mm/memfd_luo: Support tmpfs preservation and retrieval
From: David Matlack dmatlack@google.com Relax memfd_luo_can_preserve() to allow general shmem-backed files beyond unlinked memfd pseudofiles, enabling userspace to preserve standard tmpfs files acr
7/7
selftests: liveupdate: Add test coverage for tmpfs preservation and retrieval
From: David Matlack dmatlack@google.com Extend the multi-session LUO test to verify preserving a path-backed tmpfs file and retrieving its contents to a newly created empty tmpfs file post-kexec us