Linux 5.12 的 exFAT 文件系统更快删除大文件

Stella981
• 阅读 321

近日, Linux 内核开发者提交了一个关于 exFAT 优化的补丁:当使用 “dirsync” 安装选项时,集群分配位图不会在每个集群位清除时都同步缓冲区,而是只会在位图缓冲区索引改变时才会更新。这一改进可以大幅优化删除大文件时的性能。

在 Linux 内核 5.12 版本中,使用 exFAT 文件系统的用户,在删除带有 “dirsync” 安装选项集的大文件时,将大幅提高速度。

Linux 5.12 的 exFAT 文件系统更快删除大文件

什么是exFAT

exFAT(Extended File Allocation Table),是微软公司(Microsoft)开发的一种较适合于闪存的文件系统。最先从该公司的 Windows Embedded CE 6.0 操作系统引入这种文件系统,后又延伸到 Windows Vista Service Pack 1 操作系统中。2019 年,微软公开了 exFAT 技术文档,并表示想将 exFAT 功能集成到 Linux 内核中。同年,在 Linux 内核 5.4 版本中,初步支持 exFAT 文件系统。

exFAT 文件系统更快删除大文件

近日, Linux 内核开发者提交了一个关于 exFAT 优化的补丁:当使用 “dirsync” 安装选项时,集群分配位图不会在每个集群位清除时都同步缓冲区,而是只会在位图缓冲区索引改变时才会更新。这一改进可以大幅优化删除大文件时的性能。

There are stressful update of cluster allocation bitmap when using

dirsync mount option which is doing sync buffer on every cluster bit

clearing. This could result in performance degradation when deleting

big size file.

Fix to update only when the bitmap buffer index is changed would make

less disk access, improving performance especially for truncate operation

在使用 Samsung 256GB SD卡, dirsync 安装选项测试时,删除 4GB 的文件时间由 39 秒缩短到 1秒。

Linux 5.12 的 exFAT 文件系统更快删除大文件
目前,该补丁已经打上了 dev 标签,预计将于 Linux 内核 5.12 版本中发布。

点赞
收藏
评论区
推荐文章
blmius blmius
1年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
技术小男生 技术小男生
5个月前
linux环境jdk环境变量配置
1:编辑系统配置文件vi/etc/profile2:按字母键i进入编辑模式,在最底部添加内容:JAVAHOME/opt/jdk1.8.0152CLASSPATH.:$JAVAHOME/lib/dt.jar:$JAVAHOME/lib/tools.jarPATH$JAVAHOME/bin:$PATH3:生效配置
刚刚好 刚刚好
5个月前
css问题
1、在IOS中图片不显示(给图片加了圆角或者img没有父级)<div<imgsrc""/</divdiv{width:20px;height:20px;borderradius:20px;overflow:h
小森森 小森森
5个月前
校园表白墙微信小程序V1.0 SayLove -基于微信云开发-一键快速搭建,开箱即用
后续会继续更新,敬请期待2.0全新版本欢迎添加左边的微信一起探讨!项目地址:(https://www.aliyun.com/activity/daily/bestoffer?userCodesskuuw5n)\2.Bug修复更新日历2.情侣脸功能大家不要使用了,现在阿里云的接口已经要收费了(土豪请随意),\\和注意
晴空闲云 晴空闲云
5个月前
css中box-sizing解放盒子实际宽高计算
我们知道传统的盒子模型,如果增加内边距padding和边框border,那么会撑大整个盒子,造成盒子的宽度不好计算,在实务中特别不方便。boxsizing可以设置盒模型的方式,可以很好的设置固定宽高的盒模型。盒子宽高计算假如我们设置如下盒子:宽度和高度均为200px,那么这会这个盒子实际的宽高就都是200px。但是当我们设置这个盒子的边框和内间距的时候,那
艾木酱 艾木酱
5个月前
快速入门|使用MemFire Cloud构建React Native应用程序
MemFireCloud是一款提供云数据库,用户可以创建云数据库,并对数据库进行管理,还可以对数据库进行备份操作。它还提供后端即服务,用户可以在1分钟内新建一个应用,使用自动生成的API和SDK,访问云数据库、对象存储、用户认证与授权等功能,可专
Wesley13 Wesley13
1年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Wesley13 Wesley13
1年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
helloworld_28799839 helloworld_28799839
5个月前
常用知识整理
Javascript判断对象是否为空jsObject.keys(myObject).length0经常使用的三元运算我们经常遇到处理表格列状态字段如status的时候可以用到vue
helloworld_34035044 helloworld_34035044
8个月前
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为