#ifndef lint
static const char rcsid[] =
- "$Id: traverse.c,v 1.50 2002/08/18 20:52:05 stelian Exp $";
+ "$Id: traverse.c,v 1.54 2003/01/10 14:46:55 stelian Exp $";
#endif /* not lint */
#include <config.h>
#ifndef EXT2_RESIZE_INO
#define EXT2_RESIZE_INO 7
#endif
+#ifndef EXT2_FT_UNKNOWN
+#define EXT2_FT_UNKNOWN 0
+#define EXT2_FT_REG_FILE 1
+#define EXT2_FT_DIR 2
+#define EXT2_FT_CHRDEV 3
+#define EXT2_FT_BLKDEV 4
+#define EXT2_FT_FIFO 5
+#define EXT2_FT_SOCK 6
+#define EXT2_FT_SYMLINK 7
+#define EXT2_FT_MAX 8
+#endif
int dump_fs_open(const char *disk, ext2_filsys *fs)
{
* dump blocks (sizeest vs. blkest in the indirect block
* calculation).
*/
- blkest = howmany((u_quad_t)dp->di_blocks*fs->blocksize, TP_BSIZE);
+ blkest = howmany((u_quad_t)dp->di_blocks * 512, TP_BSIZE);
i_size = dp->di_size + ((u_quad_t) dp->di_size_high << 32);
sizeest = howmany(i_size, TP_BSIZE);
if (blkest > sizeest)
nbi.di_uid = (((int32_t)dp->di_uidhigh) << 16) | dp->di_uid;
nbi.di_gid = (((int32_t)dp->di_gidhigh) << 16) | dp->di_gid;
if (dp->di_file_acl)
- warn("ACLs in inode #%ld won't be dumped", (long)ino);
+ msg("ACLs in inode #%ld won't be dumped\n", (long)ino);
memmove(&spcl.c_dinode, &nbi, sizeof(nbi));
#else /* __linux__ */
spcl.c_dinode = *dp;
nbi.di_uid = (((int32_t)dp->di_uidhigh) << 16) | dp->di_uid;
nbi.di_gid = (((int32_t)dp->di_gidhigh) << 16) | dp->di_gid;
if (dp->di_file_acl)
- warn("ACLs in inode #%ld won't be dumped", (long)ino);
+ msg("ACLs in inode #%ld won't be dumped\n", (long)ino);
memmove(&spcl.c_dinode, &nbi, sizeof(nbi));
#else /* __linux__ */
spcl.c_dinode = *dp;
else
msg("short read error from %s: [block %d, ext2blk %d]: count=%d, got=%d\n",
disk, blkno, dbtofsb(sblock, blkno), size, cnt);
- if (++breaderrors > breademax) {
+ if (breademax && ++breaderrors > breademax) {
msg("More than %d block read errors from %d\n",
breademax, disk);
broadcast("DUMP IS AILING!\n");