f2fs 学习笔记之三:写流程

背景

主要流程

fs/f2fs/f2fs.h:
3255 extern const struct file_operations f2fs_dir_operations;
3256 extern const struct file_operations f2fs_file_operations;
3257 extern const struct inode_operations f2fs_file_inode_operations;
3258 extern const struct address_space_operations f2fs_dblock_aops;
3259 extern const struct address_space_operations f2fs_node_aops;
3260 extern const struct address_space_operations f2fs_meta_aops;
3261 extern const struct inode_operations f2fs_dir_inode_operations;
3262 extern const struct inode_operations f2fs_symlink_inode_operations;
3263 extern const struct inode_operations f2fs_encrypted_symlink_inode_operations;
3264 extern const struct inode_operations f2fs_special_inode_operations;
3265 extern struct kmem_cache *f2fs_inode_entry_slab;

fs/f2fs/file.c:
3072 const struct file_operations f2fs_file_operations = {
3073 .llseek = f2fs_llseek,
3074 .read_iter = generic_file_read_iter,
3075 .write_iter = f2fs_file_write_iter,
3076 .open = f2fs_file_open,
3077 .release = f2fs_release_file,
3078 .mmap = f2fs_file_mmap,
3079 .flush = f2fs_file_flush,
3080 .fsync = f2fs_sync_file,
3081 .fallocate = f2fs_fallocate,
3082 .unlocked_ioctl = f2fs_ioctl,
3083 #ifdef CONFIG_COMPAT
3084 .compat_ioctl = f2fs_compat_ioctl,
3085 #endif
3086 .splice_read = generic_file_splice_read,
3087 .splice_write = iter_file_splice_write,
3088 };

bio submit

check point

GC

总结

猜你喜欢

转载自blog.51cto.com/xiamachao/2348759
今日推荐