Mercurial > xfs_ino_scan
changeset 12:bce7ecd3523c
make copying data conditional
author | Josef 'Jeff' Sipek <jeffpc@josefsipek.net> |
---|---|
date | Sat, 22 Mar 2008 18:08:53 -0400 |
parents | 3bf4a4f40d43 |
children | 93863bd2be09 |
files | ino_scan.c |
diffstat | 1 files changed, 16 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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 } }