[Oracleasm-commits] jlbec commits r285 - trunk/kernel

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Thu Feb 24 19:39:20 CST 2005


Author: jlbec
Date: 2005-02-24 19:39:18 -0600 (Thu, 24 Feb 2005)
New Revision: 285

Modified:
   trunk/kernel/oracleasm.c
Log:
o Add backing dev stuff

Modified: trunk/kernel/oracleasm.c
===================================================================
--- trunk/kernel/oracleasm.c	2005-02-24 23:02:28 UTC (rev 284)
+++ trunk/kernel/oracleasm.c	2005-02-25 01:39:18 UTC (rev 285)
@@ -66,6 +66,7 @@
 #include <linux/mount.h>
 #include <linux/smp_lock.h>
 #include <linux/parser.h>
+#include <linux/backing-dev.h>
 
 #include <asm/uaccess.h>
 #include <linux/spinlock.h>
@@ -283,7 +284,12 @@
 #endif
 };
 
+static struct backing_dev_info memory_backing_dev_info = {
+	.ra_pages	= 0,	/* No readahead */
+	.memory_backed	= 1,	/* Does not contribute to dirty memory */
+};
 
+
 static struct inode *asmdisk_alloc_inode(struct super_block *sb)
 {
 	struct asm_disk_info *d = kmem_cache_alloc(asmdisk_cachep, SLAB_KERNEL);
@@ -561,6 +567,7 @@
 	inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
 	inode->i_op = &asmfs_file_inode_operations;
 	inode->i_fop = &asmfs_file_operations;
+	inode->i_mapping->backing_dev_info = &memory_backing_dev_info;
 
 	d_instantiate(dentry, inode);
 
@@ -623,8 +630,6 @@
 	return retval;
 }
 
-#define asmfs_rmdir asmfs_unlink
-
 static void asmfs_put_super(struct super_block *sb)
 {
 	kfree(ASMFS_SB(sb));
@@ -792,6 +797,8 @@
 		if (d->d_live)
 			BUG();
 
+		disk_inode->i_mapping->backing_dev_info =
+			&memory_backing_dev_info;
 		d->d_bdev = bdev;
 		d->d_max_sectors = compute_max_sectors(bdev);
 		d->d_live = 1;
@@ -2435,13 +2442,13 @@
 
 static struct inode_operations asmfs_disk_dir_inode_operations = {
 	.lookup		= simple_lookup,
-	.unlink		= asmfs_unlink,
+	.unlink		= simple_unlink,
 	.mknod		= asmfs_mknod,
 };
 static struct inode_operations asmfs_iid_dir_inode_operations = {
 	.create		= asmfs_create,
 	.lookup		= simple_lookup,
-	.unlink		= asmfs_unlink,
+	.unlink		= simple_unlink,
 };
 
 static struct super_operations asmfs_ops = {
@@ -2500,6 +2507,7 @@
 	inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
 	inode->i_op = &simple_dir_inode_operations;
 	inode->i_fop = &asmfs_dir_operations;
+	inode->i_mapping->backing_dev_info = &memory_backing_dev_info;
 	/* directory inodes start off with i_nlink == 2 (for "." entry) */
 	inode->i_nlink++;
 
@@ -2524,6 +2532,7 @@
 	inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
 	inode->i_op = &asmfs_disk_dir_inode_operations;
 	inode->i_fop = &asmfs_dir_operations;
+	inode->i_mapping->backing_dev_info = &memory_backing_dev_info;
 	d_add(dentry, inode);
 
 	name.name = ASM_MANAGER_INSTANCES;
@@ -2541,6 +2550,7 @@
 	inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
 	inode->i_op = &asmfs_iid_dir_inode_operations;
 	inode->i_fop = &asmfs_dir_operations;
+	inode->i_mapping->backing_dev_info = &memory_backing_dev_info;
 	d_add(dentry, inode);
 
 	name.name = asm_operation_files[ASMOP_QUERY_VERSION];
@@ -2553,7 +2563,8 @@
 				      &trans_contexts[ASMOP_QUERY_VERSION]);
 	if (!inode)
 		goto out_genocide;
-       	d_add(dentry, inode);
+	inode->i_mapping->backing_dev_info = &memory_backing_dev_info;
+	d_add(dentry, inode);
 
 	name.name = asm_operation_files[ASMOP_GET_IID];
 	name.len = strlen(asm_operation_files[ASMOP_GET_IID]);
@@ -2565,7 +2576,8 @@
 				      &trans_contexts[ASMOP_GET_IID]);
 	if (!inode)
 		goto out_genocide;
-       	d_add(dentry, inode);
+	inode->i_mapping->backing_dev_info = &memory_backing_dev_info;
+	d_add(dentry, inode);
 
 	name.name = asm_operation_files[ASMOP_CHECK_IID];
 	name.len = strlen(asm_operation_files[ASMOP_CHECK_IID]);
@@ -2577,7 +2589,8 @@
 				      &trans_contexts[ASMOP_CHECK_IID]);
 	if (!inode)
 		goto out_genocide;
-       	d_add(dentry, inode);
+	inode->i_mapping->backing_dev_info = &memory_backing_dev_info;
+	d_add(dentry, inode);
 
 	name.name = asm_operation_files[ASMOP_QUERY_DISK];
 	name.len = strlen(asm_operation_files[ASMOP_QUERY_DISK]);
@@ -2589,7 +2602,8 @@
 				      &trans_contexts[ASMOP_QUERY_DISK]);
 	if (!inode)
 		goto out_genocide;
-       	d_add(dentry, inode);
+	inode->i_mapping->backing_dev_info = &memory_backing_dev_info;
+	d_add(dentry, inode);
 
 	sb->s_root = root;
 



More information about the Oracleasm-commits mailing list