Commit Graph

197 Commits

Author SHA1 Message Date
Thomas Quinot
993425ee98 (bread): For a read that is contained entirely within a block, never copy
out more than size bytes to the caller's buffer.

PR:		bin/111191
Reviewed by:	pb
MFC after:	1 week
2007-04-05 20:31:23 +00:00
Kirk McKusick
3ec818266f Fix an error in dumping large sparse files containing extended attributes. 2007-02-27 07:28:17 +00:00
Kirk McKusick
772ad651bf Update the dump program to save extended attributes. Update
the restore program to restore all dumped extended attributes.

If the restore is running as root, it will always be able
to restore all extended attributes. If it is not running
as root, it makes a best effort to set them. Using the -v
command line flag or the `verbose' command in interactive
mode will display all the extended attributes being set on
files (and at the end on directories) that are being restored.
It will note any extended attributes that could not be set.

The extended attributes are placed on the dump image immediately
following each file's data. Older versions of restore can work
with the newer dump images. Old versions of restore will
correctly restore the file data and then (silently) skip
over the extended attribute data and proceed to the next file.

This resolves PR 93085 which will be closed once the code
has been MFC'ed.

Note that this code will not compile until these header
files have been updated: <protocols/dumprestore.h> and
<sys/extattr.h>.

PR:		bin/93085
Comments from:	Poul-Henning Kamp and Robert Watson
MFC after:	3 weeks
2007-02-26 08:15:56 +00:00
Ruslan Ermilov
ef4e780539 Make "dump /filesystem" (without options) work.
PR:		docs/84408
MFC after:	3 days
2006-10-12 20:22:31 +00:00
Ruslan Ermilov
8266d47670 Markup fixes. 2006-09-18 11:55:10 +00:00
Thomas Quinot
72408a122a Clarify documentation of '-L' command line switch: the snapshot is
unlinked as soon as the dump starts (and removed when the dump is
completed, and the dump process exits). Previous wording was confusing
because users might expect the snapshot to be visible in the .snap
subdirectory while dump is running.

MFC after:	1 week
2006-08-16 16:28:30 +00:00
Matt Jacob
90bdcf6bdc If rawname returns NULL, deal with it appropriately.
PR:		94045
Submitted by:	Andrey Elsukov
MFC after:	1 week
2006-08-15 17:53:37 +00:00
Dmitry Morozovsky
be0ee8b315 Eliminate a pair of unneeded parentheses slipped in from previous version of
fix.

Noticed by:	ru
2006-08-06 14:23:50 +00:00
Dmitry Morozovsky
432aab8c8e strlen(3) returns size_t, which is not strictly equivalent to int an 64-bit
archs, hence printf(3) warning.  Fix this.

Noticed by:	tinderbox
Approved by:	rse
2006-08-06 08:37:46 +00:00
Ralf S. Engelschall
452329ad11 Do not pass-through the tailing newline character from the ctime(3)
output to setproctitle(3) in order to get rid of the ugly two-character
escape sequence "\n" in the ps(1) output of a dump(8) process:

<< [...] finished in 0:00 at Sat Aug  5 14:44:39 2006\n (dump)
>> [...] finished in 0:00 at Sat Aug  5 14:44:39 2006 (dump)
2006-08-05 12:50:38 +00:00
David Malone
0b39291ea2 Dump keeps a bitmap of the state of various inodes, which is sized
to match the number of inodes on the disk. If we find a directory
entry with a crazy inode number in it, don't look beyond the end
of the bitmap to find that inode's state. Instead skip that directory
entry and print a warning.

Reviewed by:	iedowse
MFC after:	3 weeks
2006-04-11 14:45:42 +00:00
Giorgos Keramidas
e388c208b3 Revert a minor glitch of revision 1.69
Submitted by:	Andriy Tkachuk <andrit@ukr.net>
X-MFC after:	RE approval
2006-02-24 15:02:08 +00:00
Warner Losh
2fa0cf5b46 Add the example that green@ used in his commit log for the dump to a
pipe functionality.  I've done a cvs log main.c about a dozen times
now.  Maybe others will find this useful.
2005-12-23 02:18:01 +00:00
Ceri Davies
b1f1271f26 Correct the description of the TAPE environment variable.
Based on:

PR:		docs/84200
Submitted by:	Gary W. Swearingen <garys at opusnet dot com>
MFC after:	1 week
2005-07-31 13:56:19 +00:00
Xin LI
0c40596cc0 Make gcc4 happy by making consistent signedness. 2005-05-02 10:00:39 +00:00
Warner Losh
f8aa7a835c 'r' disk devices no longer exist, so don't try to create a pathname
that has an 'r' in it.

This also eliminates a bogus use of strlcat.
PR: 80064
2005-04-18 15:08:29 +00:00
Ian Dowse
890005bf8a Use a signal-safe type for two variables that are used to synchronise
with a signal handler. This fixes a race condition introduced by
compiler reordering that caused dump to sometimes get stuck,
especially while dumping large filesystems.
2005-03-02 02:30:08 +00:00
David E. O'Brien
c82b8ff04f va_list style tweaks 2005-02-16 06:48:35 +00:00
Ruslan Ermilov
8d646af581 Sync program's usage() with manpage's SYNOPSIS. 2005-02-10 09:19:34 +00:00
Wes Peters
73e31afa1a Improved error checking for existence of a .snap directory to
generate snapshots in when -L is requested.  If the .snap directory
does not exist, or is not a directory, issue a warning and revert
to the non- live behavior.

Obtained from:	St. Bernard Software RAPID
2005-01-21 22:13:25 +00:00
Ruslan Ermilov
6087df9e8b Sort sections. 2005-01-18 10:09:38 +00:00
Ruslan Ermilov
a866e17077 Added the EXIT STATUS section where appropriate. 2005-01-17 07:44:44 +00:00
David E. O'Brien
70a74c07ec Clearer va-args usage.
Submitted by:	bde
2004-12-30 00:53:56 +00:00
Maxim Konovalov
ad0c89f79c o Do not dump core in -W if dumpdates was not readable and ddatev == NULL.
PR:		bin/69977

o Remove unused ddates_in.

Obtained from:	NetBSD
MFC after:	3 weeks
2004-12-02 13:56:53 +00:00
Alexander Kabaev
8518a74a8f Avoid casts as lvalues. 2004-07-28 05:59:22 +00:00
Ian Dowse
b2fb183206 Print the `99.99% done, finished soon' message only as often as the
normal status messages. Previously a large number of these new
messages could be spewed out towards the end of a dump.

Reviewed by:	imp
2004-06-19 22:41:18 +00:00
Warner Losh
bcfe17158c Enter the 1990's and assume that the computer knows what time it is.
Print the ETA of dump being finished, rather than a cryptic delta
time.  Also, if we have written more blocks than the tapesize, assume
that we are 99.99% done and that we'll be finished 'soon'.
2004-05-21 20:13:33 +00:00
Ruslan Ermilov
d04b5dfe6c Assorted markup, grammar, and spelling fixes. 2004-05-17 08:35:43 +00:00
Brian Feldman
c51d70c690 Add -P arguments for dump(8) and restore(8) which allow the user to
use backup methods other than files and tapes.  The -P argument is
a normal sh(1) pipeline with either $DUMP_VOLUME or $RESTORE_VOLUME
defined in the environment, respectively.

For example, I can back up my home to three DVD+R[W]s as so:
Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
/dev/ad0s2e  40028550 10093140 26733126    27%    /home
green# dump -0 -L -C16 -B4589840 -P 'growisofs -Z /dev/cd0=/dev/fd/0' /home
2004-04-13 02:58:06 +00:00
Brian Feldman
f7c7b87fbd Improve the warnings for dump -L and do not bother doing the snapshot if
it is specified for read-only filesystems.

Submitted by:   Jason Young <jyoung8607@hotmail.com>
PR:     46672
2004-04-12 20:19:32 +00:00
Bruce Evans
85f5fe4183 Fixed unformatting of copyright clause 4 in previous commit. 2004-04-10 02:22:35 +00:00
Mark Murray
4c723140a4 Remove advertising clause from University of California Regent's license,
per letter dated July 22, 1999.

Approved by: core, imp
2004-04-09 19:58:40 +00:00
Alexander Langer
93ba0fc8b8 Add RSH to the list of enviroment variables. 2004-01-15 12:13:54 +00:00
Ian Dowse
6e3aaeb2d7 Define _PATH_MKSNAP_FFS and use it in dump(8) instead of assuming
that mksnap_ffs(8) can be found using the current $PATH.

Reviewed by:	mckusick
2004-01-04 17:17:46 +00:00
Kirk McKusick
b17f40bbda Document that the live dump command (`dump -L') creates its snapshot
in the .snap directory in the root of the filesystem being dumped.
Document that if the .snap directory is missing that it must be
created manually and that it should be owned by user root and
group operator and set to mode 770 before a live dump can be run.
2003-11-18 00:36:40 +00:00
Kirk McKusick
d46b52859a Convert the live dump command (`dump -L') to use mksnap_ffs instead
of trying to directly create the snapshot itself. This change allows
users logged into the system as operator to run live dumps.

Note that dump no longer tries to create the snapshot in the root of
the filesystem, but rather in a .snap directory in the root of the
filesystem. The reason is that the operator is usually not permitted
to write into the root of the filesystem. The newfs command and
background fsck have both been modified to create a .snap directory
in the root of the filesystem, but if neither of these have been run,
then the .snap directory must be created manually by the superuser
before a live dump can be run. The .snap directory should be owned
by user root and group operator and set to mode 770.
2003-11-16 08:01:58 +00:00
Johan Karlsson
8a0453d614 Make this WARNS=2 clean by
- using (intmax_t) and %j
	- giving a non-empty format string to msg()

Include <stdint.h> directly instead of depending on <inttypes.h>
to do it.

Tested by:	make universe
2003-11-14 13:07:38 +00:00
Ken Smith
5324d49a71 - add explanation of what an active file system is
- explain the reason for permitting 32 read errors for a dump

PR:		docs/35602 and docs/35607
Reviewed by:	jhb
Approved by:	blackend (mentor)
2003-11-05 22:17:37 +00:00
Ian Dowse
155ea0634c In mapdirs(), do not use the `dp' inode pointer after searchdir()
has been called, since it points to a shared inode buffer that may
be overwritten. The two cases where `dp' was used incorrectly appear
to have been overlooked when "nodump" inheritance was first added
in revision 1.12.

This is reported to correct propagation of the nodump flag on
directories that are larger than one block in size.

PR:		bin/58912
Submitted by:	Volker Paepcke <vpaepcke@incore.de>
MFC after:	1 week
2003-11-04 14:20:14 +00:00
Ian Dowse
ec3f495c76 Add missing prototype for cread(). 2003-11-04 12:27:18 +00:00
Paul Saab
4036f9e297 revert to version 1.25 and use va_copy to obtain another copy of the
variable arguments. version 1.26 incorrectly truncated the message if
the buffer was too long.

Requested by:	bde
2003-09-21 22:14:49 +00:00
Paul Saab
926074e580 Fix improper use of varargs.
Reviewed by:	peter
2003-09-20 23:35:37 +00:00
Greg Lehey
17fe3d1d42 Remove reference to max block size. dump no longer limits the block size. 2003-07-14 02:22:55 +00:00
Philippe Charnier
9680d7b695 Add section number to .Xr 2003-06-08 12:51:28 +00:00
Kirk McKusick
924a7003b0 Dump is hard-wired to believe that it can read disks on
1024-byte boundaries. For many years this was a reasonable
assumption. However, in recent years we have begun seeing
devices with 2048-byte sectors. These devices return errors
when dump tries to read starting in the middle of a sector
or when it tries to read only the first half of a sector.
Rather than change the native block size used by dump (and
thus create an incompatible dump format), this fix checks
for transfer requests that start and/or end on a non-sector
boundary. When such a read is detected, the new code reads
the entire sector and copies out just the part that dump
needs.

Reviewed by:	Poul-Henning Kamp <phk@critter.freebsd.dk>
Approved by:	re (John Baldwin <jhb@FreeBSD.org>)
Sponsored by:   DARPA & NAI Labs.
2003-05-07 18:27:09 +00:00
Ruslan Ermilov
44b81f0f89 Removed all vestiges of KerberosIV. 2003-05-01 21:18:36 +00:00
Ruslan Ermilov
fd2f6a9b16 Fixed the MLINKS assignment style. 2003-05-01 20:35:30 +00:00
Mark Murray
8edde085dd De-Kerberise (KerberosIV). KerberosIV is no longer present, and
remote backups can still be done with Kerberos authentication using
SSH and Kerberos 5.
2003-05-01 20:09:58 +00:00
Matthew N. Dodd
a3165d16af Avoid a name conflict with future functionality:
getfstab() -> dump_getfstab()
2003-04-07 11:34:12 +00:00
Ruslan Ermilov
1f6a46318d Sort options. 2003-02-23 01:50:07 +00:00