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 阅读(5041) 评论(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 阅读(1656) 评论(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 阅读(2249) 评论(0) 推荐(0) 编辑

2012年11月26日

btrfs 空闲空间管理(一) free-space-cache

摘要: 源文件: linux/fs/btrfs/free-space-cache.h linux/fs/btrfs/free-space-cache.c linux/fs/btrfs/ctree.hbtrfs 使用 free-space-cache 提供了对空闲空间管理的支持,另外,ino map 也是基于 free-space-cache来实现的。free-space-cache 的两个作用: * 支持 extent/bitmap 两种方式的空闲空间管理,每一个 block group 有自己的空闲空间 * 支持 ino map;这个是文件系统范围的,linux/fs/btrfs... 阅读全文

posted @ 2012-11-26 20:19 refrag 阅读(4014) 评论(1) 推荐(1) 编辑

导航