X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=mm%2Ftiny-shmem.c;h=d436a9c82db7739618dee05886c0088aaea7728a;hb=215a5575b56b1cc87773442beba09fbfff689464;hp=f9d6a9cc91c4bc806700c6119f45e34283abdeb7;hpb=fb7ffeb11bb7e9e75dc83ff67a4925c270e0fa3c;p=linux-2.6 diff --git a/mm/tiny-shmem.c b/mm/tiny-shmem.c index f9d6a9cc91..d436a9c82d 100644 --- a/mm/tiny-shmem.c +++ b/mm/tiny-shmem.c @@ -12,7 +12,6 @@ #include #include -#include #include #include #include @@ -33,9 +32,6 @@ static int __init init_tmpfs(void) { BUG_ON(register_filesystem(&tmpfs_fs_type) != 0); -#ifdef CONFIG_TMPFS - devfs_mk_dir("shm"); -#endif shm_mnt = kern_mount(&tmpfs_fs_type); BUG_ON(IS_ERR(shm_mnt)); @@ -70,24 +66,19 @@ struct file *shmem_file_setup(char *name, loff_t size, unsigned long flags) if (!dentry) goto put_memory; - error = -ENFILE; - file = get_empty_filp(); - if (!file) - goto put_dentry; - error = -ENOSPC; inode = ramfs_get_inode(root->d_sb, S_IFREG | S_IRWXUGO, 0); if (!inode) - goto close_file; + goto put_dentry; d_instantiate(dentry, inode); - inode->i_nlink = 0; /* It is unlinked */ + error = -ENFILE; + file = alloc_file(shm_mnt, dentry, FMODE_WRITE | FMODE_READ, + &ramfs_file_operations); + if (!file) + goto put_dentry; - file->f_vfsmnt = mntget(shm_mnt); - file->f_dentry = dentry; - file->f_mapping = inode->i_mapping; - file->f_op = &ramfs_file_operations; - file->f_mode = FMODE_WRITE | FMODE_READ; + inode->i_nlink = 0; /* It is unlinked */ /* notify everyone as to the change of file size */ error = do_truncate(dentry, size, 0, file); @@ -130,6 +121,7 @@ int shmem_unuse(swp_entry_t entry, struct page *page) return 0; } +#if 0 int shmem_mmap(struct file *file, struct vm_area_struct *vma) { file_accessed(file); @@ -139,6 +131,7 @@ int shmem_mmap(struct file *file, struct vm_area_struct *vma) return 0; #endif } +#endif /* 0 */ #ifndef CONFIG_MMU unsigned long shmem_get_unmapped_area(struct file *file,