[Ocfs-tools-commits] smushran commits r128 - in trunk/ocfs2/debugfs.ocfs2: . include

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Fri Jul 2 15:06:02 CDT 2004


Author: smushran
Date: 2004-07-02 14:06:00 -0500 (Fri, 02 Jul 2004)
New Revision: 128

Modified:
   trunk/ocfs2/debugfs.ocfs2/commands.c
   trunk/ocfs2/debugfs.ocfs2/dump.c
   trunk/ocfs2/debugfs.ocfs2/include/main.h
   trunk/ocfs2/debugfs.ocfs2/journal.c
   trunk/ocfs2/debugfs.ocfs2/readfs.c
Log:
globals enclosed in a struct

Modified: trunk/ocfs2/debugfs.ocfs2/commands.c
===================================================================
--- trunk/ocfs2/debugfs.ocfs2/commands.c	2004-07-02 02:55:15 UTC (rev 127)
+++ trunk/ocfs2/debugfs.ocfs2/commands.c	2004-07-02 19:06:00 UTC (rev 128)
@@ -70,19 +70,20 @@
 
 extern gboolean allow_write;
 
-char *device = NULL;
-int   dev_fd = -1;
-__u32 blksz_bits = 0;
-__u32 clstrsz_bits = 0;
-__u64 root_blkno = 0;
-__u64 sysdir_blkno = 0;
-__u64 dlm_blkno = 0;
-char *curdir = NULL;
-char *superblk = NULL;
-char *rootin = NULL;
-char *sysdirin = NULL;
+dbgfs_gbls gbls = {
+	.device = NULL,
+	.dev_fd = -1,
+	.blksz_bits = 0,
+	.clstrsz_bits = 0,
+	.root_blkno = 0,
+	.sysdir_blkno = 0,
+	.dlm_blkno = 0,
+	.curdir = NULL,
+	.superblk = NULL,
+	.rootin = NULL,
+	.sysdirin = NULL
+};
 
-
 static Command commands[] =
 {
   { "open",   do_open   },
@@ -172,11 +173,10 @@
 static void do_open (char **args)
 {
 	char *dev = args[1];
-	ocfs2_dinode *inode;
 	ocfs2_super_block *sb;
 	__u32 len;
 
-	if (device)
+	if (gbls.device)
 		do_close (NULL);
 
 	if (dev == NULL) {
@@ -184,46 +184,47 @@
 		goto bail;
 	}
 
-	dev_fd = open (dev, allow_write ? O_RDONLY : O_RDWR);
-	if (dev_fd == -1) {
+	gbls.dev_fd = open (dev, allow_write ? O_RDONLY : O_RDWR);
+	if (gbls.dev_fd == -1) {
 		printf ("could not open device %s\n", dev);
 		goto bail;
 	}
 
-	device = g_strdup (dev);
+	gbls.device = g_strdup (dev);
 
-	if (read_super_block (dev_fd, &superblk) != -1)
-		curdir = g_strdup ("/");
+	if (read_super_block (gbls.dev_fd, (char **)&gbls.superblk) != -1)
+		gbls.curdir = g_strdup ("/");
 	else {
-		close (dev_fd);
-		dev_fd = -1;
+		close (gbls.dev_fd);
+		gbls.dev_fd = -1;
 		goto bail;
 	}
 
-	inode = (ocfs2_dinode *)superblk;
-	sb = &(inode->id2.i_super);
+	sb = &(gbls.superblk->id2.i_super);
 	/* set globals */
-	clstrsz_bits = sb->s_clustersize_bits;
-	blksz_bits = sb->s_blocksize_bits;
-	root_blkno = sb->s_root_blkno;
-	sysdir_blkno = sb->s_system_dir_blkno;
+	gbls.clstrsz_bits = sb->s_clustersize_bits;
+	gbls.blksz_bits = sb->s_blocksize_bits;
+	gbls.root_blkno = sb->s_root_blkno;
+	gbls.sysdir_blkno = sb->s_system_dir_blkno;
 
 	/* read root inode */
-	len = 1 << blksz_bits;
-	if (!(rootin = malloc(len)))
+	len = 1 << gbls.blksz_bits;
+	if (!(gbls.rootin = malloc(len)))
 		DBGFS_FATAL("%s", strerror(errno));
-	if ((pread64(dev_fd, rootin, len, (root_blkno << blksz_bits))) == -1)
+	if ((pread64(gbls.dev_fd, (char *)gbls.rootin, len,
+		     (gbls.root_blkno << gbls.blksz_bits))) == -1)
 		DBGFS_FATAL("%s", strerror(errno));
 
 	/* read sysdir inode */
-	len = 1 << blksz_bits;
-	if (!(sysdirin = malloc(len)))
+	len = 1 << gbls.blksz_bits;
+	if (!(gbls.sysdirin = malloc(len)))
 		DBGFS_FATAL("%s", strerror(errno));
-	if ((pread64(dev_fd, sysdirin, len, (sysdir_blkno << blksz_bits))) == -1)
+	if ((pread64(gbls.dev_fd, (char *)gbls.sysdirin, len,
+		     (gbls.sysdir_blkno << gbls.blksz_bits))) == -1)
 		DBGFS_FATAL("%s", strerror(errno));
 
 	/* load sysfiles blknums */
-	read_sysdir (dev_fd, sysdirin);
+	read_sysdir (gbls.dev_fd, (char *)gbls.sysdirin);
 
 bail:
 	return ;
@@ -235,18 +236,18 @@
  */
 static void do_close (char **args)
 {
-	if (device) {
-		g_free (device);
-		device = NULL;
-		close (dev_fd);
-		dev_fd = -1;
+	if (gbls.device) {
+		g_free (gbls.device);
+		gbls.device = NULL;
+		close (gbls.dev_fd);
+		gbls.dev_fd = -1;
 
-		g_free (curdir);
-		curdir = NULL;
+		g_free (gbls.curdir);
+		gbls.curdir = NULL;
 
-		safefree (superblk);
-		safefree (rootin);
-		safefree (sysdirin);
+		safefree (gbls.superblk);
+		safefree (gbls.rootin);
+		safefree (gbls.sysdirin);
 	} else
 		printf ("device not open\n");
 
@@ -275,24 +276,24 @@
 	GArray *dirarr = NULL;
 	__u32 len;
 
-	if (dev_fd == -1) {
+	if (gbls.dev_fd == -1) {
 		printf ("device not open\n");
 		goto bail;
 	}
 
-	len = 1 << blksz_bits;
+	len = 1 << gbls.blksz_bits;
 	if (!(buf = malloc(len)))
 		DBGFS_FATAL("%s", strerror(errno));
 
 	if (opts) {
 		blknum = atoi(opts);
-		if ((read_inode (dev_fd, blknum, buf, len)) == -1) {
+		if ((read_inode (gbls.dev_fd, blknum, buf, len)) == -1) {
 			printf("Not an inode\n");
 			goto bail;
 		}
 		inode = (ocfs2_dinode *)buf;
 	} else {
-		inode = (ocfs2_dinode *)rootin;
+		inode = gbls.rootin;
 	}
 
 	if (!S_ISDIR(inode->i_mode)) {
@@ -302,7 +303,7 @@
 
 	dirarr = g_array_new(0, 1, sizeof(struct ocfs2_dir_entry));
 
-	read_dir (dev_fd, &(inode->id2.i_list), inode->i_size, dirarr);
+	read_dir (gbls.dev_fd, &(inode->id2.i_list), inode->i_size, dirarr);
 
 	dump_dir_entry (dirarr);
 
@@ -321,7 +322,7 @@
  */
 static void do_pwd (char **args)
 {
-	printf ("%s\n", curdir ? curdir : "No dir");
+	printf ("%s\n", gbls.curdir ? gbls.curdir : "No dir");
 }					/* do_pwd */
 
 /*
@@ -416,7 +417,7 @@
  */
 static void do_curdev (char **args)
 {
-	printf ("%s\n", device ? device : "No device");
+	printf ("%s\n", gbls.device ? gbls.device : "No device");
 }					/* do_curdev */
 
 /*
@@ -438,12 +439,12 @@
 	ocfs2_dinode *in;
 	ocfs2_super_block *sb;
 
-	if (dev_fd == -1) {
+	if (gbls.dev_fd == -1) {
 		printf ("device not open\n");
 		goto bail;
 	}
 
-	in = (ocfs2_dinode *)superblk;
+	in = gbls.superblk;
 	sb = &(in->id2.i_super);
 	dump_super_block(sb);
 
@@ -466,24 +467,24 @@
 	char *buf = NULL;
 	__u32 buflen;
 
-	if (dev_fd == -1) {
+	if (gbls.dev_fd == -1) {
 		printf ("device not open\n");
 		goto bail;
 	}
 
-	buflen = 1 << blksz_bits;
+	buflen = 1 << gbls.blksz_bits;
 	if (!(buf = malloc(buflen)))
 		DBGFS_FATAL("%s", strerror(errno));
 
 	if (opts) {
 		blknum = atoi(opts);
-		if ((read_inode (dev_fd, blknum, buf, buflen)) == -1) {
+		if ((read_inode (gbls.dev_fd, blknum, buf, buflen)) == -1) {
 			printf("Not an inode\n");
 			goto bail;
 		}
 		inode = (ocfs2_dinode *)buf;
 	} else {
-		inode = (ocfs2_dinode *)rootin;
+		inode = gbls.rootin;
 	}
 
 	dump_inode(inode);
@@ -491,7 +492,7 @@
 	if ((inode->i_flags & OCFS2_LOCAL_ALLOC_FL))
 		dump_local_alloc(&(inode->id2.i_lab));
 	else
-		traverse_extents(dev_fd, &(inode->id2.i_list), NULL, 1);
+		traverse_extents(gbls.dev_fd, &(inode->id2.i_list), NULL, 1);
 
 bail:
 	safefree (buf);
@@ -506,10 +507,10 @@
 {
 	char *dlmbuf = NULL;
 
-	if (dev_fd == -1)
+	if (gbls.dev_fd == -1)
 		printf ("device not open\n");
 	else {
-		if (read_file (dev_fd, dlm_blkno, -1, &dlmbuf) == -1)
+		if (read_file (gbls.dev_fd, gbls.dlm_blkno, -1, &dlmbuf) == -1)
 			goto bail;
 		dump_config (dlmbuf);
 	}
@@ -527,10 +528,10 @@
 {
 	char *dlmbuf = NULL;
 
-	if (dev_fd == -1)
+	if (gbls.dev_fd == -1)
 		printf ("device not open\n");
 	else {
-		if (read_file (dev_fd, dlm_blkno, -1, &dlmbuf) == -1)
+		if (read_file (gbls.dev_fd, gbls.dlm_blkno, -1, &dlmbuf) == -1)
 			goto bail;
 		dump_publish (dlmbuf);
 	}
@@ -548,10 +549,10 @@
 {
 	char *dlmbuf = NULL;
 	
-	if (dev_fd == -1)
+	if (gbls.dev_fd == -1)
 		printf ("device not open\n");
 	else {
-		if (read_file (dev_fd, dlm_blkno, -1, &dlmbuf) == -1)
+		if (read_file (gbls.dev_fd, gbls.dlm_blkno, -1, &dlmbuf) == -1)
 			goto bail;
 		dump_vote (dlmbuf);
 	}
@@ -573,7 +574,7 @@
 	int op = 0;  /* 0 = dump, 1 = cat */
 	char *outfile = NULL;
 
-	if (dev_fd == -1) {
+	if (gbls.dev_fd == -1) {
 		printf ("device not open\n");
 		goto bail;
 	}
@@ -599,7 +600,7 @@
 		}
 	}
 
-	read_file (dev_fd, blknum, outfd, NULL);
+	read_file (gbls.dev_fd, blknum, outfd, NULL);
 
 bail:
 	if (outfd > 2)
@@ -623,10 +624,10 @@
 	if (!blknum)
 		goto bail;
 
-	if (dev_fd == -1)
+	if (gbls.dev_fd == -1)
 		printf ("device not open\n");
 	else {
-		if ((len = read_file (dev_fd, blknum, -1, &logbuf)) == -1)
+		if ((len = read_file (gbls.dev_fd, blknum, -1, &logbuf)) == -1)
 			goto bail;
 		read_journal (logbuf, (__u64)len);
 	}
@@ -635,4 +636,3 @@
 	safefree (logbuf);
 	return ;
 }					/* do_journal */
-

Modified: trunk/ocfs2/debugfs.ocfs2/dump.c
===================================================================
--- trunk/ocfs2/debugfs.ocfs2/dump.c	2004-07-02 02:55:15 UTC (rev 127)
+++ trunk/ocfs2/debugfs.ocfs2/dump.c	2004-07-02 19:06:00 UTC (rev 128)
@@ -30,8 +30,7 @@
 #include <utils.h>
 #include <journal.h>
 
-extern char *superblk;
-extern __u32 blksz_bits;
+extern dbgfs_gbls gbls;
 
 /*
  * dump_super_block()
@@ -186,7 +185,7 @@
  */
 void dump_disk_lock (ocfs2_disk_lock *dl)
 {
-	ocfs2_super_block *sb = &(((ocfs2_dinode *)superblk)->id2.i_super);
+	ocfs2_super_block *sb = &((gbls.superblk)->id2.i_super);
 	int i, j, k;
 	__u32 node_map;
 
@@ -279,7 +278,7 @@
 	char *p;
 	ocfs_node_config_hdr *hdr;
 	ocfs_node_config_info *node;
-	ocfs2_super_block *sb = &(((ocfs2_dinode *)superblk)->id2.i_super);
+	ocfs2_super_block *sb = &((gbls.superblk)->id2.i_super);
 	__u16 port;
 	char addr[32];
 	struct in_addr ina;
@@ -295,7 +294,7 @@
 	printf("%-4s %-32s %-15s %-6s %s\n",
 	       "Node", "Name", "IP Addr", "Port", "UUID");
 
-	p = buf + (2 << blksz_bits);
+	p = buf + (2 << gbls.blksz_bits);
 	for (i = 0; i < sb->s_max_nodes; ++i) {
 		node = (ocfs_node_config_info *)p;
 		if (!*node->node_name)
@@ -310,7 +309,7 @@
 		for (j = 0; j < OCFS2_GUID_LEN; j++)
 			printf("%c", node->guid.guid[j]);
 		printf("\n");
-		p += (1 << blksz_bits);
+		p += (1 << gbls.blksz_bits);
 	}
 
 	return ;
@@ -325,14 +324,14 @@
 	ocfs_publish *pub;
 	char *p;
 	GString *pub_flag;
-	ocfs2_super_block *sb = &(((ocfs2_dinode *)superblk)->id2.i_super);
+	ocfs2_super_block *sb = &((gbls.superblk)->id2.i_super);
 	__u32 i, j;
 
 	printf("%-2s %-3s %-3s %-3s %-15s %-15s %-15s %-*s %-s\n",
 	       "No", "Mnt", "Vot", "Dty", "LockId", "Seq", "Time", sb->s_max_nodes,
 	       "Map", "Type");
 
-	p = buf + ((2 + 4 + sb->s_max_nodes) << blksz_bits);
+	p = buf + ((2 + 4 + sb->s_max_nodes) << gbls.blksz_bits);
 	for (i = 0; i < sb->s_max_nodes; ++i) {
 		pub = (ocfs_publish *)p;
 
@@ -350,7 +349,7 @@
 
 		g_string_free (pub_flag, 1);
 
-		p += (1 << blksz_bits);
+		p += (1 << gbls.blksz_bits);
 	}
 
 	return ;	
@@ -365,13 +364,13 @@
 	ocfs_vote *vote;
 	char *p;
 	GString *vote_flag;
-	ocfs2_super_block *sb = &(((ocfs2_dinode *)superblk)->id2.i_super);
+	ocfs2_super_block *sb = &((gbls.superblk)->id2.i_super);
 	__u32 i;
 
 	printf("%-2s %-2s %-1s %-15s %-15s %-s\n",
 	       "No", "NV", "O", "LockId", "Seq", "Type");
 
-	p = buf + ((2 + 4 + sb->s_max_nodes + sb->s_max_nodes) << blksz_bits);
+	p = buf + ((2 + 4 + sb->s_max_nodes + sb->s_max_nodes) << gbls.blksz_bits);
 	for (i = 0; i < sb->s_max_nodes; ++i) {
 		vote = (ocfs_vote *)p;
 
@@ -383,7 +382,7 @@
 		       vote->vote_seq_num, vote_flag->str);
 
 		g_string_free (vote_flag, 1);
-		p += (1 << blksz_bits);
+		p += (1 << gbls.blksz_bits);
 	}
 
 	return ;

Modified: trunk/ocfs2/debugfs.ocfs2/include/main.h
===================================================================
--- trunk/ocfs2/debugfs.ocfs2/include/main.h	2004-07-02 02:55:15 UTC (rev 127)
+++ trunk/ocfs2/debugfs.ocfs2/include/main.h	2004-07-02 19:06:00 UTC (rev 128)
@@ -61,6 +61,20 @@
 	VOTE
 };
 
+typedef struct _dbgfs_glbs {
+	char *device;
+	int   dev_fd;
+	__u32 blksz_bits;
+	__u32 clstrsz_bits;
+	__u64 root_blkno;
+	__u64 sysdir_blkno;
+	__u64 dlm_blkno;
+	char *curdir;
+	ocfs2_dinode *superblk;
+	ocfs2_dinode *rootin;
+	ocfs2_dinode *sysdirin;
+} dbgfs_gbls;
+
 #define safefree(_p)	do {if (_p) { free(_p); (_p) = NULL; } } while (0)
 
 #define DBGFS_FATAL(fmt, arg...)	({ fprintf(stderr, "ERROR at %s, %d: " fmt ".  EXITING!!!\n", \

Modified: trunk/ocfs2/debugfs.ocfs2/journal.c
===================================================================
--- trunk/ocfs2/debugfs.ocfs2/journal.c	2004-07-02 02:55:15 UTC (rev 127)
+++ trunk/ocfs2/debugfs.ocfs2/journal.c	2004-07-02 19:06:00 UTC (rev 128)
@@ -30,7 +30,7 @@
 #include <utils.h>
 #include <journal.h>
 
-extern __u32 blksz_bits;
+extern dbgfs_gbls gbls;
 
 /*
  * read_journal()
@@ -42,7 +42,7 @@
 	int blocknum;
 	journal_header_t *header;
 	int last_metadata = 0;
-	__u32 blksize = 1 << blksz_bits;
+	__u32 blksize = 1 << gbls.blksz_bits;
 	__u64 len;
 	char *p;
 
@@ -209,7 +209,7 @@
 	case JFS_DESCRIPTOR_BLOCK:
 		printf("Journal Descriptor\n");
 		print_header(header, "hdr");
-		for(i = sizeof(journal_header_t); i < (1 << blksz_bits);
+		for(i = sizeof(journal_header_t); i < (1 << gbls.blksz_bits);
 		    i+=sizeof(journal_block_tag_t)) {
 			tag = (journal_block_tag_t *) &blk[i];
 			printf("\ttag[%d]->t_blocknr:\t\t%u\n", count,

Modified: trunk/ocfs2/debugfs.ocfs2/readfs.c
===================================================================
--- trunk/ocfs2/debugfs.ocfs2/readfs.c	2004-07-02 02:55:15 UTC (rev 127)
+++ trunk/ocfs2/debugfs.ocfs2/readfs.c	2004-07-02 19:06:00 UTC (rev 128)
@@ -30,10 +30,7 @@
 #include <utils.h>
 #include <journal.h>
 
-extern __u32 blksz_bits;
-extern __u32 clstrsz_bits;
-extern __u64 dlm_blkno;
-extern char *superblk;
+extern dbgfs_gbls gbls;
 
 /*
  * read_super_block()
@@ -105,7 +102,7 @@
 	ocfs2_dinode *inode;
 	int ret = 0;
 
-	off = blknum << blksz_bits;
+	off = blknum << gbls.blksz_bits;
 
 	if ((pread64(fd, buf, buflen, off)) == -1)
 		DBGFS_FATAL("%s", strerror(errno));
@@ -141,11 +138,11 @@
 		if (ext->l_tree_depth == 0)
 			add_extent_rec (arr, rec);
 		else {
-			buflen = 1 << blksz_bits;
+			buflen = 1 << gbls.blksz_bits;
 			if (!(buf = malloc(buflen)))
 				DBGFS_FATAL("%s", strerror(errno));
 
-			off = (__u64)rec->e_blkno << blksz_bits;
+			off = (__u64)rec->e_blkno << gbls.blksz_bits;
 			if ((pread64 (fd, buf, buflen, off)) == -1)
 				DBGFS_FATAL("%s", strerror(errno));
 
@@ -204,9 +201,9 @@
 	for (i = 0; i < arr->len; ++i) {
 		rec = &(g_array_index(arr, ocfs2_extent_rec, i));
 
-		off = rec->e_blkno << blksz_bits;
-                foff = rec->e_cpos << clstrsz_bits;
-		len = rec->e_clusters << clstrsz_bits;
+		off = rec->e_blkno << gbls.blksz_bits;
+                foff = rec->e_cpos << gbls.clstrsz_bits;
+		len = rec->e_clusters << gbls.clstrsz_bits;
                 if ((foff + len) > size)
                     len = size - foff;
 
@@ -253,7 +250,7 @@
 	for (i = 0; i < dirarr->len; ++i) {
 		rec = &(g_array_index(dirarr, struct ocfs2_dir_entry, i));
 		if (!strncmp (rec->name, dlm, strlen(dlm)))
-			dlm_blkno = rec->inode;
+			gbls.dlm_blkno = rec->inode;
 	}
 
 bail:
@@ -284,7 +281,7 @@
 
 	arr = g_array_new(0, 1, sizeof(ocfs2_extent_rec));
 
-	buflen = 1 << blksz_bits;
+	buflen = 1 << gbls.blksz_bits;
 	if (!(inode_buf = malloc(buflen)))
 		DBGFS_FATAL("%s", strerror(errno));
 
@@ -313,9 +310,9 @@
 
 	for (i = 0; i < arr->len; ++i) {
 		rec = &(g_array_index(arr, ocfs2_extent_rec, i));
-		off = rec->e_blkno << blksz_bits;
-		foff = rec->e_cpos << clstrsz_bits;
-		len = rec->e_clusters << clstrsz_bits;
+		off = rec->e_blkno << gbls.blksz_bits;
+		foff = rec->e_cpos << gbls.clstrsz_bits;
+		len = rec->e_clusters << gbls.clstrsz_bits;
 		if ((foff + len) > inode->i_size)
 			len = inode->i_size - foff;
 



More information about the Ocfs-tools-commits mailing list