Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Kernel v2.6.24 /mm/tiny-shmem.c

Filename:/mm/tiny-shmem.c
Lines Added:7
Lines Deleted:12
Also changed in: (Previous) 2.6.24-rc8  2.6.24-rc7  2.6.24-rc6  2.6.24-rc5  2.6.24-rc4  2.6.24-rc3 
(Following) 2.6.24-git15  2.6.24-git16  2.6.24-git17  2.6.24-git18  2.6.24-git19  2.6.24-git20 

Location
[  2.6.24
  [  mm
     o  tiny-shmem.c

Patch

diff --git a/mm/tiny-shmem.c b/mm/tiny-shmem.c
index 8803471..d436a9c 100644
--- a/mm/tiny-shmem.c
+++ b/mm/tiny-shmem.c
@@ -66,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_path.mnt = mntget(shm_mnt);
-   file->f_path.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);


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.