常见路径上的引用/内存泄漏: 同目录重命名、硬链接查询、创建子卷等
作者: xfcyhuang创建于 2026年9月4日更新于 2026年9月4日
- 同目录重命名时每次都会泄漏文件引用 — src/fileinfo.c
set_rename_information:related获得了一个引用(~3136/3139, 或来自 ~3176 的open_fileref),但end:只有在失败时才释放它(if (!NT_SUCCESS(Status) && related) free_fileref(related);, ~3255-3256)。跨目录/跨子卷的调用通过fileref->parent = related来获得所有权,但rename_in_same_directory并不影响parent,因此在成功路径中,引用永远不会被释放 — 目录的文件引用/FCB 直到卸载才能被回收。
内容来源: maharmstone/btrfs