[Ocfs2-commits] jlbec commits r1701 - trunk/src

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Thu Dec 9 17:19:27 CST 2004


Author: jlbec
Date: 2004-12-09 17:19:25 -0600 (Thu, 09 Dec 2004)
New Revision: 1701

Modified:
   trunk/src/journal.c
   trunk/src/ocfs2_fs.h
Log:

o Sync ocfs2_fs.h with userspace.
o Make the journal1 fields have sane names.



Modified: trunk/src/journal.c
===================================================================
--- trunk/src/journal.c	2004-12-09 02:24:55 UTC (rev 1700)
+++ trunk/src/journal.c	2004-12-09 23:19:25 UTC (rev 1701)
@@ -695,7 +695,7 @@
 	osb->journal->state = OCFS_JOURNAL_LOADED;
 	osb->journal->trans_id = (unsigned long) 1;
 
-	*dirty = (fe->id1.journal1.i_flags & OCFS2_JOURNAL_DIRTY_FL);
+	*dirty = (fe->id1.journal1.ij_flags & OCFS2_JOURNAL_DIRTY_FL);
 	status = 0;
 done:
 	if (status < 0) {
@@ -726,9 +726,9 @@
 	OCFS_ASSERT(IS_VALID_FILE_ENTRY(fe));
 
 	if (dirty)
-		fe->id1.journal1.i_flags |= OCFS2_JOURNAL_DIRTY_FL;
+		fe->id1.journal1.ij_flags |= OCFS2_JOURNAL_DIRTY_FL;
 	else
-		fe->id1.journal1.i_flags &= ~OCFS2_JOURNAL_DIRTY_FL;
+		fe->id1.journal1.ij_flags &= ~OCFS2_JOURNAL_DIRTY_FL;
 
 	status = ocfs_write_block(osb, bh, journal->k_inode);
 	if (status < 0)
@@ -1125,7 +1125,7 @@
 
 	fe = (ocfs2_dinode *) bh->b_data;
 
-	if (!(fe->id1.journal1.i_flags & OCFS2_JOURNAL_DIRTY_FL)) {
+	if (!(fe->id1.journal1.ij_flags & OCFS2_JOURNAL_DIRTY_FL)) {
 		LOG_TRACE_ARGS("No recovery required for node %d\n", node_num);
 		printk("ocfs2_recover_node: No recovery required for node "
 		       "%d\n", node_num);
@@ -1172,7 +1172,7 @@
 		LOG_ERROR_STATUS(status);
 
 	/* mark the node clean. */
-	fe->id1.journal1.i_flags &= ~OCFS2_JOURNAL_DIRTY_FL;
+	fe->id1.journal1.ij_flags &= ~OCFS2_JOURNAL_DIRTY_FL;
 	status = ocfs_write_block(osb, bh, inode);
 	if (status < 0)
 		LOG_ERROR_STATUS(status);

Modified: trunk/src/ocfs2_fs.h
===================================================================
--- trunk/src/ocfs2_fs.h	2004-12-09 02:24:55 UTC (rev 1700)
+++ trunk/src/ocfs2_fs.h	2004-12-09 23:19:25 UTC (rev 1701)
@@ -101,6 +101,11 @@
  */
 #define OCFS2_JOURNAL_DIRTY_FL	(0x00000001)	/* Journal needs recovery */
 
+/*
+ * superblock s_state flags
+ */
+#define OCFS2_ERROR_FS		(0x00000001)	/* FS saw errors */
+
 /* Limit of space in ocfs2_dir_entry */
 #define OCFS2_MAX_FILENAME_LENGTH       255
 
@@ -116,6 +121,12 @@
 #define OCFS2_DEFAULT_JOURNAL_SIZE	(8 * ONE_MEGA_BYTE)
 #define OCFS2_MIN_JOURNAL_SIZE		(4 * ONE_MEGA_BYTE)
 
+struct ocfs2_system_inode_info {
+	char	*si_name;
+	int	si_flags;
+	int	si_mode;
+};
+
 /* System file index */
 enum {
 	BAD_BLOCK_SYSTEM_INODE = 0,
@@ -133,23 +144,23 @@
 	NUM_SYSTEM_INODES
 };
 
-static char *ocfs2_system_inode_names[NUM_SYSTEM_INODES] = {
+static struct ocfs2_system_inode_info ocfs2_system_inodes[NUM_SYSTEM_INODES] = {
 	/* Global system inodes (single copy) */
 	/* The first two are only used from userspace mfks/tunefs */
-	[BAD_BLOCK_SYSTEM_INODE]		"bad_blocks",
-	[GLOBAL_INODE_ALLOC_SYSTEM_INODE] 	"global_inode_alloc",
+	[BAD_BLOCK_SYSTEM_INODE]		{ "bad_blocks", 0, S_IFREG | 0644 },
+	[GLOBAL_INODE_ALLOC_SYSTEM_INODE] 	{ "global_inode_alloc", OCFS2_BITMAP_FL | OCFS2_CHAIN_FL, S_IFREG | 0644 },
 
 	/* These are used by the running filesystem */
-	[SLOT_MAP_SYSTEM_INODE]			"slot_map",
-	[HEARTBEAT_SYSTEM_INODE]		"heartbeat",
-	[GLOBAL_BITMAP_SYSTEM_INODE]		"global_bitmap",
-	[ORPHAN_DIR_SYSTEM_INODE]		"orphan_dir",
+	[SLOT_MAP_SYSTEM_INODE]			{ "slot_map", 0, S_IFREG | 0644 },
+	[HEARTBEAT_SYSTEM_INODE]		{ "heartbeat", OCFS2_HEARTBEAT_FL, S_IFREG | 0644 },
+	[GLOBAL_BITMAP_SYSTEM_INODE]		{ "global_bitmap", 0, S_IFREG | 0644 },
+	[ORPHAN_DIR_SYSTEM_INODE]		{ "orphan_dir", 0, S_IFDIR | 0755 },
 
 	/* Node-specific system inodes (one copy per node) */
-	[EXTENT_ALLOC_SYSTEM_INODE]		"extent_alloc:%04d",
-	[INODE_ALLOC_SYSTEM_INODE]		"inode_alloc:%04d",
-	[JOURNAL_SYSTEM_INODE]			"journal:%04d",
-	[LOCAL_ALLOC_SYSTEM_INODE]		"local_alloc:%04d"
+	[EXTENT_ALLOC_SYSTEM_INODE]		{ "extent_alloc:%04d", OCFS2_BITMAP_FL | OCFS2_CHAIN_FL, S_IFREG | 0644 },
+	[INODE_ALLOC_SYSTEM_INODE]		{ "inode_alloc:%04d", OCFS2_BITMAP_FL | OCFS2_CHAIN_FL, S_IFREG | 0644 },
+	[JOURNAL_SYSTEM_INODE]			{ "journal:%04d", OCFS2_JOURNAL_FL, S_IFREG | 0644 },
+	[LOCAL_ALLOC_SYSTEM_INODE]		{ "local_alloc:%04d", OCFS2_BITMAP_FL | OCFS2_LOCAL_ALLOC_FL, S_IFREG | 0644 }
 };
 
 
@@ -200,18 +211,7 @@
 #define OCFS2_RAW_SB(dinode)	(&((dinode)->id2.i_super))
 #define LOCAL_ALLOC(dinode)	(&((dinode)->id2.i_lab))
 
-/* TODO: change these?  */
-#define OCFS2_NODE_CONFIG_HDR_SIGN	"NODECFG"
-#define OCFS2_NODE_CONFIG_SIGN_LEN	8
-#define OCFS2_NODE_CONFIG_VER		2
-#define OCFS2_NODE_MIN_SUPPORTED_VER	2
 
-#define OCFS2_GUID_HOSTID_LEN	20
-#define OCFS2_GUID_MACID_LEN	12
-#define OCFS2_GUID_LEN		(OCFS2_GUID_HOSTID_LEN + OCFS2_GUID_MACID_LEN)
-
-
-
 /*
  * On disk extent record for OCFS2
  * It describes a range of clusters on disk.
@@ -342,9 +342,9 @@
 					   belongs to */
 	__u16 i_suballoc_bit;		/* Bit offset in suballocater
 					   block group */
-	__u32 i_reserved0;
-/*14*/	__u32 i_clusters;		/* Cluster count */
-/*18*/	__u32 i_uid;			/* Owner UID */
+/*10*/	__u32 i_reserved0;
+	__u32 i_clusters;		/* Cluster count */
+	__u32 i_uid;			/* Owner UID */
 	__u32 i_gid;			/* Owning GID */
 /*20*/	__u64 i_size;			/* Size in bytes */
 	__u16 i_mode;			/* File mode */
@@ -374,8 +374,8 @@
 		} bitmap1;
 		struct {		/* Info for journal system
 					   inodes */
-			__u32 i_flags;	/* Mounted, version, etc.    */
-			__u32 i_j_pad;
+			__u32 ij_flags;	/* Mounted, versoin, etc. */
+			__u32 ij_pad;
 		} journal1;
 	} id1;				/* Inode type dependant 1 */
 /*C0*/	union {
@@ -543,10 +543,11 @@
          */
 	if (type <= OCFS2_LAST_GLOBAL_SYSTEM_INODE)
 		chars = snprintf(buf, len,
-				 ocfs2_system_inode_names[type]);
+				 ocfs2_system_inodes[type].si_name);
 	else
 		chars = snprintf(buf, len,
-				 ocfs2_system_inode_names[type], node);
+				 ocfs2_system_inodes[type].si_name,
+				 node);
 
 	return chars;
 }



More information about the Ocfs2-commits mailing list