SimpleFs
zhuyong006
这个作者很懒,什么都没留下…
展开
-
SimpleFs文件系统初步一(编译并挂载)
编译并挂载simplefs文件系统 相关的代码链接如下 io:simplefs 1.首先使用dd命令创建一个文件"image" dd if=/dev/zero of=image bs=1M count=1000 在当前目录下会生成一个1000M的image文件,文件内容为全0(因从/dev/zero中读取,/dev/zero为0源),但是这样为实际写入硬盘,文件产生速度取决于硬盘读写速度,如果...原创 2018-10-19 16:34:35 · 729 阅读 · 0 评论 -
SimpleFs文件系统初步二(测试用的块设备构建)
1.首先打开我们通过dd命令生成的image文件 fd = open(argv[1], O_RDWR); 2.写超级块 write_superblock(fd) 我们详细看看超级块是怎么去写的 static int write_superblock(int fd) { struct simplefs_super_block sb = { .version = 1, .magic ...原创 2018-10-19 16:38:11 · 475 阅读 · 0 评论 -
SimpleFs文件系统初步三(Mount过程分析)
static int simplefs_init(void) { int ret; sfs_inode_cachep = kmem_cache_create("sfs_inode_cache", sizeof(struct simplefs_inode), ...原创 2018-10-19 16:46:45 · 1070 阅读 · 0 评论 -
SimpleFs文件系统初步四(Inode的创建过程)
我们在文件系统下面创建一个文件或者目录,毫无疑问,文件系统必须先去检查这个文件或者文件夹是否存在吧,随后如果文件系统检查到文件或者文件夹不存在才会为你新建,否则返回出错。 1.文件或者文件夹的检查过程 struct dentry *simplefs_lookup(struct inode *parent_inode, struct dentry *child_dentry, u...原创 2018-11-01 11:25:38 · 788 阅读 · 0 评论 -
SimpleFs文件系统初步五(文件的读写)
1.写数据的过程: ssize_t simplefs_write(struct file * filp, const char __user * buf, size_t len, loff_t * ppos) { /* After the commit dd37978c5 in the upstream linux kernel, * we can use just fil...原创 2018-11-01 17:23:39 · 482 阅读 · 0 评论 -
怎么通过dd命令分析文件系统
1.通过dd命令创建一个文件,块大小为4096字节,个数为1024 dd if=/dev/zero of=image bs=4096 count=1024 2.格式化为ext4,块大小为4096 mkfs.ext4 -b 4096 image 3.打印当前块设备的信息 root@Jon:/home/jon/test# dumpe2fs image dumpe2fs 1.42.13 (1...原创 2018-12-10 16:03:23 · 1522 阅读 · 0 评论