[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