ext4之discard

本文探讨了EXT4文件系统在配置为discard模式时,如何在删除文件时通过jbd2进程触发discard/fstrim命令到UFS驱动。通过ext4eventtrace可以观察到分区、LBA地址和进程信息。接着,UFS驱动通过umap命令将文件系统地址断开,将数据标记为无效,等待后台垃圾收集。这一过程涉及到文件系统的数据回收和存储效率提升。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. ext4如果配置discard模式,在删除文件的时候,ext4会创建一个进程jbd2-sdd15, 然后这个进程会立刻下发discard/fstrim命令到ufs driver, 这个可以抓取ext4 event trace查看,主要是抓取ext4_discard_blocks这个trace,可以看到discard的分区,lba地址,下发discard的进程名

2. ufs driver会下发umap命令到ufs devices, 这个可以通过抓取ufs event trace查看,主要是echo ufs >> /sys/kernel/debug/tracing/set_event这些trace, 此时文件系统地址(lba)到ufs devices 地址(pba)之间的映射就会断开,这时候ufs devices的文件数据就会标记为无效的数据, 此时FW就可以在合适的时间去回收这些数据(backgroud garbage collect).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值