patch-2.4.0-test11 linux/fs/ramfs/inode.c

Next file: linux/fs/select.c
Previous file: linux/fs/proc/root.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test10/linux/fs/ramfs/inode.c linux/fs/ramfs/inode.c
@@ -65,7 +65,8 @@
 static int ramfs_readpage(struct file *file, struct page * page)
 {
 	if (!Page_Uptodate(page)) {
-		memset(page_address(page), 0, PAGE_CACHE_SIZE);
+		memset(kmap(page), 0, PAGE_CACHE_SIZE);
+		kunmap(page);
 		flush_dcache_page(page);
 		SetPageUptodate(page);
 	}
@@ -85,9 +86,7 @@
 
 static int ramfs_prepare_write(struct file *file, struct page *page, unsigned offset, unsigned to)
 {
-	void *addr;
-
-	addr = (void *) kmap(page);
+	void *addr = kmap(page);
 	if (!Page_Uptodate(page)) {
 		memset(addr, 0, PAGE_CACHE_SIZE);
 		flush_dcache_page(page);
@@ -110,21 +109,15 @@
 
 struct inode *ramfs_get_inode(struct super_block *sb, int mode, int dev)
 {
-	struct inode * inode = get_empty_inode();
+	struct inode * inode = new_inode(sb);
 
 	if (inode) {
-		inode->i_sb = sb;
-		inode->i_dev = sb->s_dev;
 		inode->i_mode = mode;
 		inode->i_uid = current->fsuid;
 		inode->i_gid = current->fsgid;
-		inode->i_size = 0;
 		inode->i_blksize = PAGE_CACHE_SIZE;
 		inode->i_blocks = 0;
 		inode->i_rdev = to_kdev_t(dev);
-		inode->i_nlink = 1;
-		inode->i_op = NULL;
-		inode->i_fop = NULL;
 		inode->i_mapping->a_ops = &ramfs_aops;
 		inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
 		switch (mode & S_IFMT) {

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)