fix(oskernel): stabilize ext4 busybox p0 smoke
本次合并补齐 oskernel 在 EXT4 + busybox P0 验收中的关键缺口。 主要内容:
- 为 newfstatat 增加 EXT4 dirent fallback:当 inode/stat 路径因 mode=0x0000 或 invalid directory entry 失败,但父目录 确实存在对应目录项时,返回最小 KStat,保证 busybox ls 不把存在文件误报为不存在。
- runner 增加 busybox dd skip=1 的 lseek smoke,明确覆盖 lseek(fd, 1, SEEK_CUR)。
- EXT4 inode mode 异常时增加短重读兜底。
- 同步 docs/EXT4_STATUS.md,记录 sendfile、lseek smoke、dirent fallback 和剩余 EXT4 根因风险。
验证:
- make -C oskernel kernel-rv 通过。
- TIMEOUT_SEC=60 bash scripts/run_ours.sh 通过,QEMU exit code = 0。
- 日志确认 sendfile 已接通。
- EXT4 底层仍偶发 mode=0x0000 / invalid directory entry,目前由 newfstatat dirent fallback 保证 busybox P0 可用性,后 续仍需根治 inode/block 读取稳定性。