changeset 14:6616a10f5f68

more debug output when skipping inodes
author Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
date Sat, 22 Mar 2008 18:17:47 -0400
parents 93863bd2be09
children fdfe5697e7ba
files ino_scan.c
diffstat 1 files changed, 14 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/ino_scan.c	Sat Mar 22 18:13:37 2008 -0400
+++ b/ino_scan.c	Sat Mar 22 18:17:47 2008 -0400
@@ -200,19 +200,25 @@
 void do_print_inode(struct xfs_dinode *inode)
 {
 	printf("> di_imode       %o\n", swap16(inode->di_core.di_mode));
-	printf("> di_version     %d\n", inode->di_core.di_version);
-	printf("> di_format      %d\n", inode->di_core.di_format);
-	printf("> di_forkoff     %d\n", inode->di_core.di_forkoff);
-	printf("> di_uid         %d\n", swap32(inode->di_core.di_uid));
-	printf("> di_gid         %d\n", swap32(inode->di_core.di_gid));
+	printf("> di_version     %u\n", inode->di_core.di_version);
+	printf("> di_format      %u\n", inode->di_core.di_format);
+	printf("> di_forkoff     %u\n", inode->di_core.di_forkoff);
+	printf("> di_uid         %u\n", swap32(inode->di_core.di_uid));
+	printf("> di_gid         %u\n", swap32(inode->di_core.di_gid));
 	printf("> di_nlink       %u\n", swap32(inode->di_core.di_nlink));
 	printf("> di_size        %llu\n", swap64(inode->di_core.di_size));
 	printf("> di_nextents    %u\n", swap32(inode->di_core.di_nextents));
 
-	if (!swap32(inode->di_core.di_nextents) ||
-	    (inode->di_core.di_format > 2) ||
-	    (inode->di_core.di_version > 2))
+	if (!swap32(inode->di_core.di_nextents)) {
+		printf(">> Skipping nextents == 0\n");
 		return;
+	}
+
+	if ((inode->di_core.di_format > 2) ||
+	    (inode->di_core.di_version > 2)) {
+		printf(">> Skipping format/version is invalid\n");
+		return;
+	}
 	
 	switch(inode->di_core.di_format) {
 		case XFS_DINODE_FMT_EXTENTS: