Commit Graph

201 Commits

Author SHA1 Message Date
bouyer cf39881866 For -l: specify the timeout on the command line (in seconds) instead of
hardwiring it to 2s, as suggested on tech-userlevel.
2002-01-07 17:34:08 +00:00
lukem 9dcaec9cca Add -a to "auto-size" the tape, rather than relying upon other options
to define the tape size.  Requires the tape driver to either return ENOSPC
at end of media, or 0 when a write is attempted (such as the "early warning"
support in st(4) enabled with "mt eew 1").   From FreeBSD.
2001-12-30 04:03:16 +00:00
lukem 8975510a51 Fixes from FreeBSD:
- Fix error if first tape was write protected.  Fix NetBSD PRs 4754 and 6098.
- Make dump exit codes confirm to manual page.
- Use \a instead of \7 to make noise.
- Fix estimated number of tapes for huge dumps to cartridges.
- Use <sys/queue.h> SLIST_* instead of home-rolled lists.
- Do not exit if unable to read or create /etc/dumpdates.
- Support output (tape) device returning ENOSPC for end-of-media on a write.

Fixes by me:
- Remove unused ddates_in.
- Don't dump core if SIGINFO is received before 1 second has elapsed.
- Only process SIGINFO in current "active" child.
- Don't dump core in -w if dumpdates wasn't readable and ddatev == NULL
- Minor KNF; wrap some lines
2001-12-25 12:06:26 +00:00
lukem 1f19340e88 document more of the debug options 2001-12-25 11:56:14 +00:00
lukem 1c9f606d2a For dump_lfs(8), in getfstab(), only "lfs" (instead of "ufs" or "ffs").
Fix from Minoura Makoto in [bin/10525].
2001-12-24 03:02:34 +00:00
lukem b73cca7b92 clean up from time_t -> int32_t change in dumprestore.h 2001-12-23 14:42:22 +00:00
lukem 1ab8ecafe7 unifdef sunos 2001-12-23 12:54:53 +00:00
lukem b734f790f5 nuke trailing whitespace 2001-12-23 12:29:55 +00:00
lukem e9164a9509 When using the read cache in bread(), ensure that the current (sub)block
isn't past the end of the file system.

Should fix the "spins forever but doing nothing" bug that dump
would occasionally have.
2001-12-22 08:45:36 +00:00
lukem 4720d32cfe - use correct type for minTime in findlru() (size_t instead of int)
- clean up whitespace
2001-12-22 08:05:24 +00:00
lukem 750a014c75 In rawread(), add back a check to ensure that dump doesn't try to read
past EOM and fail with "short read error". This check was part of
traverse.c::bread(), and was removed when that function was migrated
to rcache.c::rawread() as part of the "read cache" functionality.

This should fix the problem with dump barfing on "short read" when "-r 0",
but I'm still debugging the problem where dump gets to a point and
"does nothing" when the read cache is being used.
2001-12-22 07:45:38 +00:00
soren 11c2f93975 Another little mistake, spotted by wiz. 2001-12-20 20:20:38 +00:00
soren dc53bf3cba Sync getopt() / man page with actual getopt options. 2001-12-20 20:10:33 +00:00
bouyer 740dbf0d62 Add a -l (autoload) flag. For multivolume dumps, this makes dump eject the
tape when a volume is full, and try to reopen the tape drive for 2 mn.
To be used with tape changers which load the next tape when the current one is
ejected.
While I'm there fix eject handling for remote tape.
2001-12-14 14:43:33 +00:00
wiz ed5ba510c2 One '\' too many. 2001-12-07 19:50:20 +00:00
lukem 29d31edd5f relax the restriction on -F that the file system image argument must be a
regular file
2001-11-16 04:41:23 +00:00
lukem 4c4307e3ce fix -Wshadow warnings 2001-11-01 08:03:03 +00:00
lukem ca2a1a8c3b in msg(), don't call va_list using functions twice in a row without calling
va_start() in between; reorder code so that we call vsnprintf and then
just fputs that buffer. crank the size of lastmsg whilst we're here
problem noted by Hideo Saito in [bin/14348].
2001-10-25 08:04:27 +00:00
wiz 699d58b177 Whitespace fixes, sort SEE ALSO, sort sections. 2001-10-15 13:43:06 +00:00
blymn a152a6a92a Add the capability for dump to print timestamps on all informational
messages.
2001-10-15 13:25:33 +00:00
lukem 1b81d6353d remove third argument (`int ns') from ffs_sb_swap(), and let ffs_sb_swap()
determine the endianness of the `struct fs *o' superblock from o->fs_magic
and set needswap as necessary, rather than trusting the caller to get
it right.  invariably, almost every caller of ffs_sb_swap() was calling it
with ns set to the wrong value for ns anyway!
ansi KNF ffs_bswap.c declarations whilst here.

this fixes all sorts of problems when trying to use other-endian file systems,
notably the kernel trying to access memory *way* off, possibly corrupting or
panicing, and userland programs SEGVing and/or corrupting things (e.g,
"fsck_ffs -B"  to swap a file system endianness).

whilst the previous rev of ffs_bswap.c (1.10, 2000/12/23) made this problem
worse, i suspect that the problem was always there and previous versions
just happened not to trash things at the wrong time.

FFS_EI should now be a lot more stable.
2001-08-17 02:18:46 +00:00
lukem b1a3e1140e - implement -F, which indicates that files-to-dump is a regular file
containing a file system image (instead of being a single file as
  part of a subtree dump)
- use "file system" instead of "filesystem" or "file-system"
2001-08-14 06:51:36 +00:00
lukem d5eaa32503 s/filesystem/file system/ 2001-08-14 05:44:44 +00:00
lukem b00117c331 s/filesystem/file system/dump.h 2001-08-14 05:44:15 +00:00
david a84be23c10 Patch to drop setgid tty privs until forking for operator notification 2001-08-08 16:49:54 +00:00
mrg d699caad5a reset uid & gid around calling rmthost(). 2001-07-17 10:56:53 +00:00
mrg 5c897ed92f display what signal, not "unknown" 2001-07-16 13:30:13 +00:00
wiz 73f545bb5b Drop arguments of .Os. 2001-06-05 11:22:41 +00:00
hannken de85f7e43e Assign a saved copy of dt->fs_file to mountpoint. dt->fs_file will be freed
otherwise resulting in a wrong spcl.c_filesys .
2001-06-03 09:51:10 +00:00
lukem 9af1692ef1 * improve parsing of file-systems-to-dump when a path is given:
- if it's a path to an unmounted file-system listed in /etc/fstab, use
	that instead of assuming the user wanted a subtree dump of the parent
	directory. this restores the behaviour of dump before the subtree
	dumping code went in.
      - if it's a path to a mounted file-system which is not in /etc/fstab,
	use the info from getmntinfo(3). previously, dump would choke.
* implement error checked malloc(), calloc(), strdup(), and use
  appropriately (some of the calloc()s weren't being checked)
* use 'file-system' instead of 'filesystem' in the man page
2001-05-28 01:09:54 +00:00
lukem cc5935ebba unifdef !__STDC__ (missed in previous) 2001-05-28 00:41:14 +00:00
lukem 713ffa0ec4 more KNF 2001-05-27 15:07:34 +00:00
lukem 99feaf5b29 knf to ansi 2001-05-27 14:17:56 +00:00
lukem e7bcd6bf17 use strdup appropriately 2001-05-26 07:48:15 +00:00
tron b82fe09a8d Add "e" option to usage message. Problem pointed out by Takahiro Kambe
in private e-mail.
2001-05-12 10:26:22 +00:00
tron b72a1f53d6 Fix bug in new "e" option: only eject tape if it is full, not if the dump
was finished.
2001-05-12 08:03:01 +00:00
tron d6be44d3c8 Add a new option "e" to "dump" which allows to eject tapes automatically
if a tape change is required.
2001-05-07 21:17:48 +00:00
christos b9140b5b9f restore needs the rcmd operations. 2001-02-04 21:37:29 +00:00
christos 91a0880aad fix redundant decls 2001-02-04 21:33:19 +00:00
scw e89e2124d1 Global variables don't need to be initialised to zero. 2000-12-13 22:45:12 +00:00
scw 8c5df3aa33 `dev_bsize' needs to be declared extern. 2000-12-13 22:44:44 +00:00
he ecaef6e7a4 Better fix for format warnings.
The type of time_t varies between ports, so we need to cast
before printing.  It appears to be sufficient and safe to use (int).
2000-10-11 20:25:29 +00:00
briggs 1e8e167a26 Fix format warnings 2000-10-11 04:57:42 +00:00
is 9979da6cbb Format string cleanups by Bill Sommerfeld. 2000-10-10 20:24:49 +00:00
perseant 2763cc1921 Working version of aborted dump{,_lfs} join. 1999-10-01 04:35:21 +00:00
perseant e8247b4092 Back out changes made on the 29th, not at all the changes I intended to commit.
(I don't know how I did it though ... I'll figure it out tonight.)
I'll reapply this, in a working form, this evening.
1999-09-30 20:39:58 +00:00
perseant 54fd3dd508 Adapt dump(8) to use filestore-independent (but still ufs-specific)
replacements for NINDIR, fsbtodb, etc.  Create dump_lfs by adding a few
LFS-filestore-specific routines.  As described in PR#8317.
1999-09-29 04:57:48 +00:00
abs 125cb421d5 Note the default tape device is taken from _PATH_DEFTAPE in /usr/include/paths.h 1999-07-01 19:18:47 +00:00
abs f6e78dac05 Default device is nrst0 not rst0 1999-06-28 01:32:49 +00:00
sommerfe 3a1d0ae5c7 Avoid byte overflow in block estimate for large files 1999-05-05 16:53:46 +00:00
bouyer 491d912f59 Implement a read cache, as announced on tech-userlevel. Default is 32k
read buffer size, 512 buffer or 15% of the user memory. Can be changed
with the -k and -s options.
1999-03-23 14:22:59 +00:00
bouyer 1746034b3e Handle "nodump" flag on directories, by not dumping any files or directories
under it. Based on some parts of PR 6705 by Brian Grayson.
In the Makefile, add (commented out) debug options that can be turned on.
1999-03-09 17:25:52 +00:00
mycroft f6590b22cd Clean up SYNOPSIS formatting. 1999-03-07 11:02:05 +00:00
bouyer 3e3f9c7795 #include machine/bswap.h and remove -lutil. 1999-01-15 13:32:05 +00:00
lukem 5b05a0328e s/1998/1999/ 1999-01-03 14:33:44 +00:00
lukem 2faa2d1ff5 add support for '-L label', which file(1) and restore(1) can extract from the
header. mostly based on [bin/6715] from Brian Grayson <bgrayson@ece.utexas.edu>

old filesystems don't have fs_qbmask and fs_qfmask set in the superblock;
fudge them as per code in /sys/ufs/ffs/ffs_vfsops.c::ffs_oldfscompat().
bug and suggested fix from Robert Elz <kre@munnari.OZ.AU> in [bin/6610]
    XXX: there may be other variables required as well...
1999-01-03 02:17:46 +00:00
lukem 21ae292644 add support for '-L label', which file(1) and restore(1) can extract
from the header.
mostly based on [bin/6715] from Brian Grayson <bgrayson@ece.utexas.edu>
1999-01-03 02:17:45 +00:00
tron 46ce633a7b Add reference to "st(4)" as suggested by Brian Grayson in PR bin/6713. 1999-01-02 16:28:39 +00:00
lukem 5f22ea3a31 fix estimate of blocks for subsets.
fix from Brian Grayson <bgrayson@ece.utexas.edu> in [bin/6607]
1998-12-28 13:38:29 +00:00
ross 029a64cc29 from Erik Bertelsen <erik@mediator.uni-c.dk>
{ put } { in } { lots } { of } { these } { to } { shut } { up } { egcs }
1998-08-25 19:18:12 +00:00
frueauf d3c525bb9a A dump level above 0 saves new or modified files since the last dump of
a lower level, not the same level. Fixes pr 5402 by Kevin Sullivan.
1998-08-11 09:52:35 +00:00
thorpej ae36dbe3f7 Turn on TCP_NODELAY on the remote tape socket, from FreeBSD. Here is the
commit message from Bill Fenner:

Turn on TCP_NODELAY on the remote socket, to turn off sender silly window
 syndrome avoidance.  The combination of SWS avoidance and ack-every-other
 causes low throughput if the block size divided by the MSS is odd (which
 is true with the default block size and MSS).
Turning on TCP_NODELAY disables the Nagle algorithm and sender SWS avoidance.
 The rdump request/response protocol can not invoke Nagle and cannot cause
 SWS, so this has no negative effects.

Also, put back the code that sets the TOS to "throughput", which seems to
have been erroneously removed during the Lite-2 merge.
1998-07-30 18:14:00 +00:00
lukem 786b86d71b use AF_LOCAL instead of AF_UNIX 1998-07-18 05:04:35 +00:00
mrg 2beab49a06 - use an array MAXHOSTNAMELEN+1 size to hold hostnames
- ensure hostname from gethostname() is nul-terminated in all cases
- minor KNF
- use MAXHOSTNAMELEN over various other values/defines
- be safe will buffers that hold hostnames
1998-07-06 06:45:41 +00:00
fair 1de21af0c2 PR#5697 + nroff cleanup 1998-07-03 11:17:46 +00:00
fair 3d7afc6d03 fix bad .Xr references 1998-04-29 09:49:10 +00:00
fair dc026e0515 Change occurrences of "UNIX" to .Ux or .At as appropriate. 1998-04-28 06:00:51 +00:00
bouyer d90a3686d5 PR bin/5346 from haszlaki@UAccess.NET:
After parsing the entries from /etc/dumpdates, remember ou entrie, in order
to print the date after /etc/dumpdates has been rewritten.
1998-04-22 08:55:18 +00:00
kleink 0cadc2826a Need <time.h> for time(), localtime() and ctime() prototypes. 1998-04-01 16:15:40 +00:00
kleink 22821b35cd Need <time.h> for ctime() prototype. 1998-04-01 16:08:26 +00:00
mrg c6f31851ad use <errno.h> 1998-03-30 01:54:40 +00:00
bouyer 34ccbd430c Add support for non-native byte order FFS. The dump is in filesystem byte
order, restore already knows how to byteswap dumps.
1998-03-18 16:54:56 +00:00
christos 98216d6649 Use strptime() instead of a home grown parser. 1998-02-04 14:49:11 +00:00
mrg 9f84449ae5 add missing .Nm sections. 1997-11-11 14:39:59 +00:00
enami 0d4522a03f Fix .Nm usage. 1997-10-20 09:11:16 +00:00
christos e230a48b57 CFLAGS->CPPFLAGS 1997-10-10 19:47:50 +00:00
lukem 865fe3908e Various changes from Brian Grayson <bgrayson@ece.utexas.edu> in [bin/4103]
* exit after providing an estimate if -S was given. the PR used -e,
  but checking around indicated prior art in Solaris usin -S.
* remove superfluous 'DUMP:' prefix in two messages
* initialise blocksperfile explicitly (not necessary, but everything
  else in that section gets initialised, so be consistant :)
* display the ``pretty'' name of the dumped directory, so the user
  knows if it's a subset or not
1997-09-18 03:03:55 +00:00
mrg 52ff5d8fee make these compile on the alpha after WARNS=1. 1997-09-16 08:37:01 +00:00
lukem 919c9246d4 resolve conflicts from lite-2 import 1997-09-16 06:41:19 +00:00
lukem 43a95d024f remove __dead 1997-09-15 12:42:54 +00:00
lukem a84bab531d * cleanup for WARNS=1
* fix use of .Nm
* comment out some unused(?) functions
1997-09-15 07:58:01 +00:00
mrg 66bc7bd651 fix PR#3710, reported by Tatoku Ogaito <tacha@trap.fukui-med.ac.jp>.
- don't pass pw->pw_name into functions; make a copy.
1997-06-05 16:10:46 +00:00
lukem d82e5e1e13 cleanup xrefs 1997-06-05 11:15:06 +00:00
lukem 4c54f5b742 * Add the ability to dump specific files & directories of a single
filesystem. This uses fts(3) to access the directory structure (and
  not the raw device), so the standard access permissions are adhered
  to (unlike dumping an entire filesystem, which just requires read
  access to the raw disk device).
* Support SIGINFO status reporting.
* Remove now unused variables that previously stored the (e)uid.
* Be more informative in a couple of error messages.
1997-06-05 11:13:18 +00:00
mrg 88c38b1d8c enable rcmd(). garbage collect. 1997-05-27 08:35:25 +00:00
mrg 0631d904fa fix off by one bug. 1997-05-27 08:34:36 +00:00
mrg 6992846f36 use orcmd() for now. 1997-05-26 15:18:25 +00:00
thorpej d35d1cc20f Don't need to account for space for NUL, as it's included in the
sizeof(_PATH_DEV), noted by Chris Demetriou <cgd@netbsd.org>
1997-04-21 21:08:33 +00:00
thorpej 5ebe7c7be3 Add missing `-', noted by Erik Fair <fair@cesium.clock.org> on
current-users.
1997-04-21 21:05:07 +00:00
mrg d655665117 be safe with buffers. 1997-04-21 11:31:15 +00:00
lukem daf554f0c4 use _PATH_DEFTAPE from <paths.h>
change doco references/examples from /dev/rmt* to /dev/rst*
1997-04-15 07:00:45 +00:00
lukem 93da79de2b remove use of "register". 1997-04-15 01:09:49 +00:00
lukem 578deb45c4 Implement changes from [bin/1915]
* 'w' and 'W' display the year
* verbosity additions displaying total & per-volume transfer times and rates
1997-04-10 05:36:23 +00:00
mikel b31dfde1ef set bflag so that 'dump bd M N' works properly. fix from Juergen
Hannken-Illjes in PR bin/3254.
1997-02-27 06:17:23 +00:00
perry 5714664cf5 fix pr 2977 -- only try to dump ufs/ffs partitions 1997-01-16 22:00:30 +00:00
cgd a0c5caa042 patches from Tom I Helbekkmo <tih@nhh.no> to deal with type-size issues,
so this works (better, at least) on 64-bit machines (e.g. alpha).
1996-11-30 18:01:52 +00:00
thorpej 12afd4fc11 - If rcmd() fails, don't do any of the setsockopt() calls.
- Since the TCP_MAXSEG setsockopt can only descrease the MSS, and never
  increase it, do an IP_TOS:IPTOS_THROUGHPUT setsockopt instead, since
  dump is a bulk transfer.
Submitted by Bill Fenner <fenner@parc.xerox.com>.
1996-11-05 23:59:01 +00:00
jtk 71b374789d Adjust the base for time estimates to ignore time we spent waiting
for operator input.
enhancements from PR #900
1996-05-18 16:16:17 +00:00
scottr ef8a0d774c Be more paranoid with our effective uid. 1996-03-15 22:39:26 +00:00
mrg 2b5cf47051 support $TAPE. update manual to reflect reality (#1937). 1996-02-05 23:59:37 +00:00