* Ported to Linux's Second Extended File System as part of the
* dump and restore backup suit
* Remy Card <card@Linux.EU.Org>, 1994-1997
- * Stelian Pop <pop@noos.fr>, 1999-2000
- * Stelian Pop <pop@noos.fr> - Alcôve <www.alcove.fr>, 2000
+ * Stelian Pop <stelian@popies.net>, 1999-2000
+ * Stelian Pop <stelian@popies.net> - Alcôve <www.alcove.com>, 2000-2002
*/
/*-
#ifndef lint
static const char rcsid[] =
- "$Id: main.c,v 1.60 2001/09/06 09:00:32 stelian Exp $";
+ "$Id: main.c,v 1.65 2002/01/16 09:32:14 stelian Exp $";
#endif /* not lint */
#include <config.h>
int uflag; /* update flag */
int Mflag; /* multi-volume flag */
int qflag; /* quit on errors flag */
+int breademax = 32; /* maximum number of bread errors before we quit */
char *eot_script; /* end of volume script fiag */
int diskfd; /* disk file descriptor */
int tapefd; /* tape file descriptor */
#endif /* USE_QFA */
while ((ch = getopt(argc, argv,
- "0123456789aB:b:cd:e:E:f:F:h:"
+ "0123456789aB:b:cd:e:E:f:F:h:I:"
#ifdef HAVE_BZLIB
"j::"
#endif
break;
#endif /* HAVE_BZLIB */
+ case 'I':
+ breademax =
+ numarg ("number of errors to ignore", 1L, 0L);
+ break;
+
#ifdef KERBEROS
case 'k':
dokerberos = 1;
signal(SIGTERM, sig);
if (signal(SIGINT, interrupt) == SIG_IGN)
signal(SIGINT, SIG_IGN);
+#ifdef SIGXCPU
+ signal(SIGXCPU, SIG_IGN);
+#endif /* SIGXCPU */
+#ifdef SIGXFSZ
+ signal(SIGXFSZ, SIG_IGN);
+#endif /* SIGXFSZ */
+
set_operators(); /* /etc/group snarfed */
getfstab(); /* /etc/fstab snarfed */
tp_bshift = ffs(TP_BSIZE) - 1;
if (TP_BSIZE != (1 << tp_bshift))
quit("TP_BSIZE (%d) is not a power of 2", TP_BSIZE);
- maxino = fs->super->s_inodes_count;
+ maxino = fs->super->s_inodes_count + 1;
#if 0
spcl.c_flags |= DR_NEWINODEFMT;
#endif
#endif
"MnqSu"
"] [-B records] [-b blocksize] [-d density]\n"
- "\t%s [-e inode#,inode#,...] [-E file] [-f file] [-h level] "
+ "\t%s [-e inode#,inode#,...] [-E file] [-f file] [-h level]\n"
+ "\t%s [-I nr errors] "
#ifdef HAVE_BZLIB
"[-j zlevel] "
#endif
- "\n\t%s "
#ifdef USE_QFA
"[-Q file] "
#endif