linux 文件系统
文章平均质量分 84
z41013774
这个作者很懒,什么都没留下…
展开
-
挂载EXT2文件系统
文件系统的安装主要是通用mount命令来实现的,然后通过系统调用由用户态进入到内核态,把某一个分区下的文件系统挂载到某一个目录下,当然挂载也可以能指定挂载的文件系统。mount函数通过sys_mount函数来实现,其具体函数如下asmlinkage long sys_mount(char __user *dev_name, char __user *dir_name, char __原创 2011-11-19 19:27:39 · 3338 阅读 · 0 评论 -
ext2文件系统的super操作方法
static const struct super_operations ext2_sops = { .alloc_inode = ext2_alloc_inode, .destroy_inode = ext2_destroy_inode, .write_inode = ext2_write_inode, .delete_inode = ext2_delete_inode, .原创 2011-11-19 19:32:42 · 912 阅读 · 0 评论 -
EXT2的文件操作方法
const struct file_operations ext2_file_operations = { .llseek = generic_file_llseek, .read = do_sync_read, .write = do_sync_write, .aio_read = generic_file_aio_read, .aio_write = generic_原创 2011-11-19 19:34:47 · 1296 阅读 · 0 评论 -
EXT2的磁盘数据结构
Ext2分区当中第一个块是引导块,其余部分分成块组,每个块组分布如下图。Ext2文件系统中所有块组大小相同并被顺序存放,因此,内核可以从块组的整数索引中得到磁盘中一个块组的位置。内核尽可能地把属于一个文件的数据块存放在同一块组中,所以块组减少了文件的碎片。超级块与组描述符被复制到每个块组中。只有块组0中所包含的超级块和组描述符才由内核使用,是其余的超级块和组描述符保持不变,一个分区有多少块原创 2011-11-19 19:17:27 · 1452 阅读 · 0 评论 -
EXT2普通文件节点的操作方法
const struct inode_operations ext2_file_inode_operations = { .truncate = ext2_truncate,#ifdef CONFIG_EXT2_FS_XATTR .setxattr = generic_setxattr, .getxattr = generic_getxattr, .listxattr = ex原创 2011-11-19 19:37:26 · 1325 阅读 · 0 评论 -
EXT2文件系统超级块的初始化(二)
=======================================struct inode *ext2_iget (struct super_block *sb, unsigned long ino){001 struct ext2_inode_info *ei;002 struct buffer_head * bh;003 struct ext2_inode *r原创 2011-11-19 19:31:15 · 934 阅读 · 0 评论 -
EXT2超级块初始化(一)
====================================static int ext2_get_sb(struct file_system_type *fs_type, int flags, const char *dev_name, void *data, struct vfsmount *mnt){ return get_sb_bdev(fs_type, fla原创 2011-11-19 19:30:10 · 3117 阅读 · 0 评论 -
EXT2目录文件索引节点的操作方法
const struct inode_operations ext2_dir_inode_operations = { .create = ext2_create, .lookup = ext2_lookup, .link = ext2_link, .unlink = ext2_unlink, .symlink = ext2_symlink, .mkdir = e原创 2011-11-19 19:38:47 · 1928 阅读 · 0 评论