
SimpleFs
zhuyong006
这个作者很懒,什么都没留下…
展开
-
SimpleFs文件系统初步一(编译并挂载)
编译并挂载simplefs文件系统相关的代码链接如下io:simplefs1.首先使用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 · 790 阅读 · 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 · 538 阅读 · 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 · 1161 阅读 · 0 评论 -
SimpleFs文件系统初步四(Inode的创建过程)
我们在文件系统下面创建一个文件或者目录,毫无疑问,文件系统必须先去检查这个文件或者文件夹是否存在吧,随后如果文件系统检查到文件或者文件夹不存在才会为你新建,否则返回出错。1.文件或者文件夹的检查过程struct dentry *simplefs_lookup(struct inode *parent_inode, struct dentry *child_dentry, u...原创 2018-11-01 11:25:38 · 869 阅读 · 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 · 533 阅读 · 0 评论 -
怎么通过dd命令分析文件系统
1.通过dd命令创建一个文件,块大小为4096字节,个数为1024dd if=/dev/zero of=image bs=4096 count=10242.格式化为ext4,块大小为4096mkfs.ext4 -b 4096 image3.打印当前块设备的信息root@Jon:/home/jon/test# dumpe2fs imagedumpe2fs 1.42.13 (1...原创 2018-12-10 16:03:23 · 1636 阅读 · 0 评论