# HG changeset patch # User Josef 'Jeff' Sipek # Date 1206223733 14400 # Node ID bce7ecd3523c1c86ad1b2188153749358e70f60a # Parent 3bf4a4f40d430a315e586ccccd713a1597f0e897 make copying data conditional diff -r 3bf4a4f40d43 -r bce7ecd3523c ino_scan.c --- a/ino_scan.c Sat Mar 22 07:37:57 2008 -0400 +++ b/ino_scan.c Sat Mar 22 18:08:53 2008 -0400 @@ -27,6 +27,14 @@ #define BLKDEV_SIZE (104857600 / BLKSIZE) #define INOSIZE 256 +/* + * Should inode data be copied off the device into DUMPDIR? + * + * defined: yes + * undefined: no + */ +//#define COPY_DATA + int fd; /* device fd */ int ffd = 0; /* file fd */ @@ -91,6 +99,7 @@ void copy_extent_data(struct xfs_bmbt_irec *irec) { +#ifdef COPY_DATA char buf[BLKSIZE]; int ret; int i; @@ -104,6 +113,7 @@ if (ret == -1) die(); } +#endif } void process_reclist(xfs_bmbt_rec_t *rec, __uint32_t nexts) @@ -219,7 +229,9 @@ void print_inode(off_t blk) { +#ifdef COPY_DATA char fname[PATH_MAX]; +#endif unsigned char buf[INOSIZE]; struct xfs_dinode *inode = (void*) buf; off_t off; @@ -236,15 +248,18 @@ printf("Inode @ block %lu, inode within blk %lu\n", blk, off); +#ifdef COPY_DATA if (swap16(inode->di_core.di_mode) & S_IFREG) { snprintf(fname, PATH_MAX, "%s/%08lx-%08lx", DUMPDIR, blk, off); ffd = open(fname, O_CREAT | O_LARGEFILE | O_WRONLY, swap16(inode->di_core.di_mode) & 0777); if (ffd == -1) die(); } +#endif do_print_inode(inode); +#ifdef COPY_DATA if (swap16(inode->di_core.di_mode) & S_IFREG) { ret = ftruncate(ffd, swap64(inode->di_core.di_size)); if (ret == -1) @@ -255,6 +270,7 @@ die(); ffd = 0; } +#endif } }