2012年11月27日

btrfs 空闲空间管理(四) fstrim

摘要: 源文件 util-linux-<version>/sys-utils/fstrim.c linux/fs/btrfs/ioctl.c linux/fs/btrfs/extent-tree.c linux/fs/btrfs/free-space-cache.c用户态工具 fstrimfstrim 是 util-linux 软件包中提供的工具: discard unused blocks on a mounted filesystem该工具有 3 个选项跟要 discard 的范围有关: -o, --offset offset Byte ... 阅读全文

posted @ 2012-11-27 22:15 refrag 阅读(5053) 评论(0) 推荐(1) 编辑

btrfs 空闲空间管理(三) inode map

摘要: 源文件 linux/fs/btrfs/inode-map.h linux/fs/btrfs/inode-map.c linux/fs/btrfs/free-space-cache.cinode map 也是基于 free-space-cache 实现的,使用的时候需要开启选项 inode_cache: INODE_MAP_CACHE: mount -o inode_cacheinode map 是属于系统范围的:root->free_ino_ctl,其对应的 objectid 为 BTRFS_FREE_INO_OBJECTID: 118 /* 119 * The inode n... 阅读全文

posted @ 2012-11-27 14:40 refrag 阅读(1665) 评论(0) 推荐(0) 编辑

btrfs 空闲空间管理(二) free cluster

摘要: 源文件 linux/fs/btrfs/ctree.h linux/fs/btrfs/free-space-cache.c free cluster 是在 free space cache 的基础上实现的。随着分配/释放的进行,一段空闲空间会变得不连续,这种情况下,可能多个碎片化的空间总和比较大,可以将多段空闲空间一起管理,满足大空间分配。数据结构 1 /* 2 * free clusters are used to claim free space in relatively large chunks, 3 * allowing us to do less ... 阅读全文

posted @ 2012-11-27 10:39 refrag 阅读(2255) 评论(0) 推荐(0) 编辑

导航