[Ocfs2-commits] khackel commits r896 - in trunk/src: . inc

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Wed May 5 17:12:17 CDT 2004


Author: khackel
Date: 2004-05-05 16:12:15 -0500 (Wed, 05 May 2004)
New Revision: 896

Modified:
   trunk/src/alloc.c
   trunk/src/inc/io.h
   trunk/src/inc/ocfs.h
   trunk/src/inode.c
   trunk/src/namei.c
Log:
changed the file entry thingie to a union



Modified: trunk/src/alloc.c
===================================================================
--- trunk/src/alloc.c	2004-05-05 21:03:31 UTC (rev 895)
+++ trunk/src/alloc.c	2004-05-05 21:12:15 UTC (rev 896)
@@ -3156,7 +3156,7 @@
 
 	LOG_ENTRY ();
 
-	currentDirNode = fe->child_dirnode;
+	currentDirNode = fe->u.child_dirnode;
 
 	size = OCFS_SECTOR_SIZE;
 
@@ -3230,7 +3230,7 @@
 
 	fe = (ocfs_file_entry *)OCFS_BH_GET_DATA_READ(fe_bh); /* read */
 	if (fe->attribs & OCFS_ATTRIB_DIRECTORY)
-		offset = fe->child_dirnode;
+		offset = fe->u.child_dirnode;
 	else
 		offset = fe->this_sector;
 	OCFS_BH_PUT_DATA(fe_bh);

Modified: trunk/src/inc/io.h
===================================================================
--- trunk/src/inc/io.h	2004-05-05 21:03:31 UTC (rev 895)
+++ trunk/src/inc/io.h	2004-05-05 21:12:15 UTC (rev 896)
@@ -327,7 +327,7 @@
 				printk("uh oh!  fe->this_sector (%u) != blocknr (%lu)\n",
 				       (__u32)(fe->this_sector>>9), bh->b_blocknr);
 				BUG();
-			} else if (fe->child_dirnode >> 9 == 4720) {
+			} else if (fe->u.child_dirnode >> 9 == 4720) {
 				OCFS_DO_HEX_DUMP(bh);
 				printk("uh oh!  fe->child_dirnode recurses!!!\n");
 				BUG();

Modified: trunk/src/inc/ocfs.h
===================================================================
--- trunk/src/inc/ocfs.h	2004-05-05 21:03:31 UTC (rev 895)
+++ trunk/src/inc/ocfs.h	2004-05-05 21:12:15 UTC (rev 896)
@@ -2037,7 +2037,14 @@
 	__u16 dev_major;                  // NUMBER RANGE(0,65535)   
 	__u16 dev_minor;                  // NUMBER RANGE(0,65535)
         __u8 fe_reserved1[4];		  // UNUSED
-	__u64 child_dirnode;		  // NUMBER RANGE(0,ULONG_LONG_MAX)
+	union {
+		__u64 fe_private;
+		__u64 child_dirnode;              // NUMBER RANGE(0,ULONG_LONG_MAX)
+		struct _bitinfo {
+			__u32 used_bits;
+			__u32 total_bits;
+		} bitinfo;
+	} u;     
 /* sizeof(fe) = 496 bytes */
 }
 ocfs_file_entry;			  // END CLASS

Modified: trunk/src/inode.c
===================================================================
--- trunk/src/inode.c	2004-05-05 21:03:31 UTC (rev 895)
+++ trunk/src/inode.c	2004-05-05 21:12:15 UTC (rev 896)
@@ -195,7 +195,7 @@
 		feoff = fe->this_sector;
 		/* need voteoff too. */
 		if (fe->attribs & OCFS_ATTRIB_DIRECTORY)
-			voteoff = fe->child_dirnode;
+			voteoff = fe->u.child_dirnode;
 		else
 			voteoff = fe->this_sector;
 		OCFS_BH_PUT_DATA(fe_bh);
@@ -382,7 +382,7 @@
 	sb = inode->i_sb;
 	osb = OCFS_GENERIC_SB_P(sb);
 	fe_off = fe->this_sector;
-	offset = S_ISDIR (mode) ? fe->child_dirnode : fe->this_sector;
+	offset = S_ISDIR (mode) ? fe->u.child_dirnode : fe->this_sector;
 
 	if (!IS_VALID_FILE_ENTRY(fe)) {
 		printk("ocfs2: invalid file entry!\n");
@@ -667,7 +667,7 @@
 	ocfs_populate_inode (inode, fe, mode, false);
 
 	/* eventually this case has to GO! */
-	voteoff = S_ISDIR (mode) ? fe->child_dirnode : fe->this_sector;
+	voteoff = S_ISDIR (mode) ? fe->u.child_dirnode : fe->this_sector;
 
 	if (voteoff != args->voteoff)
 		BUG();

Modified: trunk/src/namei.c
===================================================================
--- trunk/src/namei.c	2004-05-05 21:03:31 UTC (rev 895)
+++ trunk/src/namei.c	2004-05-05 21:12:15 UTC (rev 896)
@@ -196,7 +196,7 @@
 	fe = (ocfs_file_entry *) OCFS_BH_GET_DATA_READ(new_fe_bh); /* read */
 
 	file_off = fe->this_sector;
-	dirnode_off = fe->child_dirnode;
+	dirnode_off = fe->u.child_dirnode;
 
 	parent_off = GET_INODE_VOTEOFF(dir);
 
@@ -364,7 +364,7 @@
 		}
 
 		fe->alloc_size = osb->vol_layout.dir_node_size;
-		fe->child_dirnode = bitmapOffset;
+		fe->u.child_dirnode = bitmapOffset;
 		fe->file_size = osb->vol_layout.dir_node_size;
 		fe->next_del = INVALID_DIR_NODE_INDEX;
 		
@@ -939,7 +939,7 @@
 	 * dirnode instead. */
 	oldfe = (ocfs_file_entry *) OCFS_BH_GET_DATA_READ(oldfe_bh); /* read */
 	if (oldfe->attribs & OCFS_ATTRIB_DIRECTORY) {
-		oldfe_lockid = oldfe->child_dirnode;
+		oldfe_lockid = oldfe->u.child_dirnode;
 		oldfe_flags = FLAG_DIR;
 	} else 
 		oldfe_lockid = oldfe->this_sector;
@@ -981,7 +981,7 @@
 	if (kill_newfe) {
 		newfe = (ocfs_file_entry *) OCFS_BH_GET_DATA_READ(newfe_bh); /* read */
 		if (newfe->attribs & OCFS_ATTRIB_DIRECTORY) {
-			newfe_lockid = newfe->child_dirnode;
+			newfe_lockid = newfe->u.child_dirnode;
 			newfe_flags = FLAG_DIR;
 		} else 
 			newfe_lockid = newfe->this_sector;
@@ -1063,7 +1063,7 @@
 		tmpfe->modify_time = OCFS_CURRENT_TIME;
 
 		if (tmpfe->attribs & OCFS_ATTRIB_DIRECTORY)
-			tmpoff = tmpfe->child_dirnode;
+			tmpoff = tmpfe->u.child_dirnode;
 		else
 			tmpoff = tmpfe->this_sector;
 
@@ -1110,7 +1110,7 @@
 			 * a directory, but the fe offset does... */
 			ocfs_inode_rehash(&osb->inode_hash, 
 					  tmpoff,
-					  tmpfe->child_dirnode,
+					  tmpfe->u.child_dirnode,
 					  tmpfe->this_sector);
 		} else {
 			SET_INODE_VOTEOFF(old_inode, 
@@ -1400,7 +1400,7 @@
 	fe = (ocfs_file_entry *)OCFS_BH_GET_DATA_READ(fe_bh); /* read */
 	dir_node_ptr = fe->dir_node_ptr;
 	if (fe->attribs & OCFS_ATTRIB_DIRECTORY) {
-		lockId = fe->child_dirnode;
+		lockId = fe->u.child_dirnode;
 		lockFlags = (FLAG_DIR | FLAG_FILE_RENAME);
 
 		status = ocfs_read_bh(osb, lockId, &lockbh, OCFS_BH_CACHED, 
@@ -1573,7 +1573,7 @@
 		 * done implicitely by locking it. */
 		fe = (ocfs_file_entry *) OCFS_BH_GET_DATA_READ(fe_bh); /* read */
 		if (fe->attribs & OCFS_ATTRIB_DIRECTORY) {
-			status = ocfs_read_bh(osb, fe->child_dirnode,
+			status = ocfs_read_bh(osb, fe->u.child_dirnode,
 					      &lock_bh, OCFS_BH_CACHED, inode);
 			if (status < 0) {
 				LOG_ERROR_STATUS(status);
@@ -1619,7 +1619,7 @@
 	fe = (ocfs_file_entry *)OCFS_BH_GET_DATA_READ(fe_bh); /* read */
 
 	if (fe->attribs & OCFS_ATTRIB_DIRECTORY) {
-		lock_id = fe->child_dirnode;
+		lock_id = fe->u.child_dirnode;
 		lockFlags = (FLAG_FILE_DELETE | FLAG_DIR);
 	} else {
 		lock_id = fe->this_sector;



More information about the Ocfs2-commits mailing list