mm/shmem.c
shmem.c 一定会被编入内核
shmem.c 分为两种实现
1. 没有定义 CONFIG_SHMEM
2. 定义了 CONFIG_SHMEM
两种实现
没定义 CONFIG_SHMEM
static struct file_system_type shmem_fs_type = {
.name = "tmpfs",
.init_fs_context = ramfs_init_fs_context,
.parameters = ramfs_fs_parameters,
.kill_sb = kill_litter_super,
.fs_flags = FS_USERNS_MOUNT,
};
#define shmem_file_operations ramfs_file_operations
const struct file_operations ramfs_file_operations = {
.mmap = generic_file_mmap,
.get_unmapped_area = ramfs_mmu_get_unmapped_area,
static struct file_system_type shmem_fs_type = {
.owner = THIS_MODULE,
.name = "tmpfs",
.init_fs_context = shmem_init_fs_context,
#ifdef CONFIG_TMPFS
.parameters = shmem_fs_parameters,
#endif
.kill_sb = kill_litter_super,
.fs_flags = FS_USERNS_MOUNT | FS_THP_SUPPORT,
};
static const struct file_operations shmem_file_operations = {
.mmap = shmem_mmap,
.get_unmapped_area = shmem_get_unmapped_area,
真实文件系统的四个问题
TODO