元数据版本更新
JuiceFS 5.3.14 (2026/7/30)
- 多分区
- 给禁用迁移的集群做跨分区 clone 时使用 rename 将目录创建到目标分区
- 修复给热点目录拆分虚拟子目录后可能所有子项都集中在一个虚拟子目录的问题
JuiceFS 5.3.13 (2026/7/22)
- 优化 POSIX lock 在有大量读锁时的性能
- 当镜像 meta 的版本明显滞后时,踢掉与其连接的客户端
- 允许访问规则中启用了
dynamicip 的客户端用不同的 IP 进行重连
- 修复 meta 进程重启时
.meta.lock 文件中依然记录着旧进程 pid 的问题
- 多分区
- 支持在客户端实现的跨分区 clone
- 在
restore 合并阶段给各个子分区单独加锁
- 修复在做迁移检查时因拷贝共享块数据而导致产生很高 compact 流量的问题
- 修复在 meta 集群中有多个文件系统时可能导致部分文件系统的跨分区统计信息长时间不更新的问题
- 修复
rebalance --path 命令在获取文件数分布时可能不准确的问题
- 修复
rebalance 命令可能错误地跳过某些需要迁移目录的问题
- 修复并发执行 link 的同分区替换时可能误报错的问题
JuiceFS 5.3.12 (2026/7/3)
- 新增
DISK_FREE_SPACE 和 DISK_FREE_RATIO 选项来调整元数 据服务清理日志盘的时机
- 修复在处理
find 命令后可能导致元数据服务内存占用过高的问题
- 多分区
restore 在恢复文件冲突时添加特殊的带 $ 符的后缀来方便区分
- 禁止恢复不在 sustained 中的 link 文件
- 修复
restore 指定 inode 的文件时如果其发生了迁移会导致恢复失败的问题
- 修复
restore 并发合并子分区文件到主树时可能出现部分文件添加多次 -1 特殊后缀的问题
- 修复
restore 在合并子分区文件过程中性能很差的问题(5.3.9 引入)
JuiceFS 5.3.11 (2026/6/24)
- 主循环繁忙时尽早关闭超时的连接
- 在清理回收站文件时不再检查其 atime 和 mtime
- 改进默认情况下获取有超多硬链接的文件属性时的性能
- 修复了连接可能被意外关闭导致进程 panic 的问题
- 修复了在重放删除快照日志时错误地忽略了文件只读标志的问题
- 修复了恢复回收站文件速度大幅下降的问题(5.3.9 引入)
- 多分区
- 在平滑升级时,不再因为
keep-inode 选项的变更而保留旧进程
- 修复虚拟子目录的 OID 可能被异常释放的问题
- 修复跨分区 rename 的目标被提前删除可能导致其无法被清理的问题
- 修复过期的 symlink 缓存可能导致读取虚拟子目录失败的问题
JuiceFS 5.3.10 (2026/6/9)
- captool: 支持打印
[]byte 类型的字段
- 多分区
- 新增
DISABLE_BALANCE 配置来禁用跨分区迁移
- 跟踪内核中正在使用的 inode,并确保它们不会被释放
- 不再在 openfiles 中跟踪打开的目录
- 支持重放 5.4 版本跨分区
clone 的事务日志
JuiceFS 5.3.9 (2026/5/27)
- 新增
NO_DATA_REP 配置,用于禁止镜像服务分发删除和同步数据的后台任务
- 支持通过
SIGUSR2 信号获取消息计数等内部信息
- 增加周期性检查以确保日志和镜像服务都去均衡地连接冷备节点
- 当元数据节点的版本严重落后时,踢掉与其连接的镜像服务
- 修复热备节点可能因将未提交的事务日志写入磁盘而导致重放速度过慢的问题
- 修复当启用后台任务的客户端数量很多时可能导致元数据服务性能大降的问题
- 在根目录创建
gateway 的系统目录时跳过只读属性和配额的检查
- 多分区
- 在迁移热点目录时,将其打散迁移
- 在从回收站恢复文件的过程中,不迁移正在恢复的热点目录
fsck 修复 REF 名称时优先匹配有 commit 的条目
- 输出统计信息时过滤掉
.backup 目录
- 修复从回收站中恢复文件到被拆分的父目录时可能导致元数据服务被长时间卡住的问题
- 修复并发执行跨分区
rename 操作可能误报 ENOENT 错误的问题
- 修复跨分区
rename 时可能会丢失 gid 并导致打印堆栈的问题
JuiceFS 5.3.8 (2026/5/11)
- 修复压缩且被拆分的目录在处理
seteattr 时不符合预期的问题
- 计算文件的校验和时限制 chunks 个数
- 改进镜像集群重放日志失败时的恢复流程
- 多分区
- 改进多分区优化器,修复多种 link 未被自动清理的情况
- 在为 REF 名称添加 commit 时允许同时修改其反指的 inode
- 主分区在 volume 根目录设了 immutable 时允许执行多分区内部操作
- 迁移目录时如果有许多子项需要断开则不要操作而是直接报错,避免造成过多跨分区链接
restore 增加重试来尽量合并所有的项
fsck 支持同时检查集群中的所有 volumes
- 在
unlink 操作中将 loaded 标记去掉
- 生成临时文件时尽量在与目标文件相同的虚拟子目录/分区中生成
- 在 openfiles 中也跟踪打开的目录
JuiceFS 5.3.7 (2026/4/21)
- 支持按 token 级别限制 meta 的 CPU 使用率
- 要求 admin 权限来处理
attr 命令设置扩展属性的请求
- 当 tid 未知时禁用 plock 的死锁检测
- 在重放日志过程中禁用 watchdog
- 清理对象多次失败时记录客户端的 session ID 以便于排查问题
- 限制单次请求中合并虚拟子目录的深度
- 限制拆分虚拟子目录的最大深度为 6
- 提升合并目录的性能
- 修复当部分 changelog 丢失时 meta 反复下载快照却无法恢复的问题