檔案系統是個有意思的東西, 之前接觸了FAT和NTFS(都是基于開源的項目, 工作中需要用到, 了解的還算比較深入),
但是EXT2/3都隻淺淺的了解了下(知道一些基本的概念),代碼并沒有通讀過.正好android上的檔案系統也從YAFFS換成了EXT4,是以打算借此契機通讀一下EXT4檔案系統.
http://zh.wikipedia.org/zh-sg/Ext4 上說Linux 2.6.29版公開釋出之後,ext4成為Linux官方的建議預設檔案系統。
手頭正好有2.6.29的kernel,那就從這裡開始吧.
[[email protected] ext4]$ wc -l *
551 acl.c
81 acl.h
795 balloc.c
31 bitmap.c
522 dir.c
245 ext4_extents.h
1377 ext4.h
140 ext4_i.h
102 ext4_jbd2.c
295 ext4_jbd2.h
159 ext4_sb.h
3221 extents.c
175 file.c
100 fsync.c
29 group.h
208 hash.c
1108 ialloc.c
5177 inode.c
315 ioctl.c
79 Kconfig
13 Makefile
4963 mballoc.c
261 mballoc.h
623 migrate.c
2495 namei.c
8 namei.h
1097 resize.c
3805 super.c
54 symlink.c
1594 xattr.c
155 xattr.h
76 xattr_security.c
59 xattr_trusted.c
61 xattr_user.c
29974 total