Commit Graph

122 Commits

Author SHA1 Message Date
ru
a80e8fe473 Mechanically kill hard sentence breaks. 2004-07-02 21:45:06 +00:00
stefanf
95261f33e2 Use the correct types for the functions rst_opendir(), glob_readdir() and
rst_closedir() which are called by glob().

Reviewed by:	md5
Approved by:	das (mentor)
2004-05-24 16:24:26 +00:00
stefanf
eeb36c045d Include <timeconv.h> for time conversion functions.
Approved by:	das (mentor)
2004-05-24 16:10:57 +00:00
ru
cde9589110 Assorted markup, grammar, and spelling fixes. 2004-05-17 08:35:43 +00:00
green
b7e7333659 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
markm
3382584a53 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
johan
1a1602ce7d style.Makefile(5):
Use WARNS?= instead of WARNS=.
2004-02-23 20:25:27 +00:00
peter
1552b47019 Fix gcc warnings. If NAME_MAX is 255, and d_namlen is a uint8_t, then
d_namlen can never be > NAME_MAX.  Stop gcc worrying about this by
using a preprocessor test to see if NAME_MAX changes.
2003-10-26 04:43:02 +00:00
ache
81b7fd33bb Localize 'ls' output
Don't set 8bit in quote processing
2003-08-06 08:46:21 +00:00
charnier
457f5c3e23 Add section number to .Xr 2003-06-08 12:51:28 +00:00
ru
44accbcacf Removed all vestiges of KerberosIV. 2003-05-01 21:18:36 +00:00
ru
12e7818c41 Style. 2003-05-01 21:10:37 +00:00
markm
99cd7170d3 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
sheldonh
c9b5cad087 Add TAPE to the ENVIRONMENT section.
MFC after:	1 month
2003-01-10 10:55:13 +00:00
sheldonh
8c74788385 Add an ENVIRONMENT section so that the reader knows that the TMPDIR envar
is honoured.

Reported by:	des
MFC after:	1 month
2003-01-10 10:45:48 +00:00
ru
24514a3504 Fixed the abuses of .Ql visible on stderr in troff mode.
PR:		docs/37176
2002-12-23 16:04:51 +00:00
mike
c29fb91cfa Use the standardized CHAR_BIT constant instead of NBBY in userland. 2002-09-25 04:06:37 +00:00
charnier
06afb62b3c Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:10:45 +00:00
imp
b04b92c4b9 Use '0' instead of NULL when we mean the integer constant 0 and not a
"null pointer expression".
2002-08-21 18:52:32 +00:00
trhodes
8dde7c54b8 s/filesystem/file system/g as discussed on -developers 2002-08-21 18:11:48 +00:00
mckusick
cc298d48f4 Change utimes to set the file creation time (for filesystems that
support creation times such as UFS2) to the value of the
modification time if the value of the modification time is older
than the current creation time. See utimes(2) for further details.

Sponsored by:	DARPA & NAI Labs.
2002-07-17 02:03:19 +00:00
charnier
52d13c5a78 The .Nm utility. 2002-07-06 19:35:14 +00:00
mckusick
0694ff55c2 This commit adds basic support for the UFS2 filesystem. The UFS2
filesystem expands the inode to 256 bytes to make space for 64-bit
block pointers. It also adds a file-creation time field, an ability
to use jumbo blocks per inode to allow extent like pointer density,
and space for extended attributes (up to twice the filesystem block
size worth of attributes, e.g., on a 16K filesystem, there is space
for 32K of attributes). UFS2 fully supports and runs existing UFS1
filesystems. New filesystems built using newfs can be built in either
UFS1 or UFS2 format using the -O option. In this commit UFS1 is
the default format, so if you want to build UFS2 format filesystems,
you must specify -O 2. This default will be changed to UFS2 when
UFS2 proves itself to be stable. In this commit the boot code for
reading UFS2 filesystems is not compiled (see /sys/boot/common/ufsread.c)
as there is insufficient space in the boot block. Once the size of the
boot block is increased, this code can be defined.

Things to note: the definition of SBSIZE has changed to SBLOCKSIZE.
The header file <ufs/ufs/dinode.h> must be included before
<ufs/ffs/fs.h> so as to get the definitions of ufs2_daddr_t and
ufs_lbn_t.

Still TODO:
Verify that the first level bootstraps work for all the architectures.
Convert the utility ffsinfo to understand UFS2 and test growfs.
Add support for the extended attribute storage. Update soft updates
to ensure integrity of extended attribute storage. Switch the
current extended attribute interfaces to use the extended attribute
storage. Add the extent like functionality (framework is there,
but is currently never used).

Sponsored by: DARPA & NAI Labs.
Reviewed by:	Poul-Henning Kamp <phk@freebsd.org>
2002-06-21 06:18:05 +00:00
trhodes
58b01fabd4 more file system > filesystem 2002-05-16 04:10:46 +00:00
iedowse
5785474cf4 Address a few minor style and consistency issues in revision 1.32.
Submitted by:	Joshua Goodall <joshua@roughtrade.net>
2002-05-06 15:15:51 +00:00
iedowse
7ec04940f7 Set the permissions on restored symbolic links.
PR:		bin/37665
Submitted by:	"Michael C. Adler" <mad1@tapil.com>
2002-05-02 17:39:19 +00:00
ru
44eaf0382b Replaced exists() tests with two equivalent defined().
LIBDIR is defined in bsd.own.mk but sys.mk no longer
includes bsd.own.mk as of revision 1.60.
2002-04-18 07:01:35 +00:00
trhodes
3362403052 restore(8) manual page does not explain rrestore.
PR:		34234
Submitted by:	Gary W. Swearingen <swear@blarg.net>
2002-04-12 18:31:09 +00:00
imp
d6f6563508 o remove __P
o Use ANSI function definitions
o unifdef -D__STDC__
2002-03-20 22:49:40 +00:00
obrien
f0428c61e5 Remove 'register' keyword.
It does not help modern compilers, and some may take some hit from it.
(I also found several functions that listed *every* of its 10 local vars with
 "register" -- just how many free registers do people think machines have?)
2002-03-20 17:55:10 +00:00
iedowse
9b32848848 Use a more robust scheme for determining how many blocks to skip
after an EOT-terminated volume. We keep track of the current record
number, and synchronise it with the c_tapea field each time we read
a header. Avoid the use of c_firstrec because some bugs in dump can
cause it to be set incorrectly.

Move the initialisation of some variables to avoid compiler warnings.
2002-02-18 02:29:47 +00:00
iedowse
7516b6a7a1 When we reach the end of the dump in findinode(), ask for another
volume if we missed some earlier tapes (the user can still enter
'none' later if the tapes are unavailable). Previously with 'x'
restores, we might not ask for all tapes if the tapes are supplied
in reverse order.

Clarify the message that describes what volume should be mounted
first; reverse order is only efficient when extracting a few files.
2002-02-18 00:54:18 +00:00
iedowse
924b769569 In createfiles(), properly handle a number of cases where no further
volumes are available, instead of getting stuck in a loop calling
getvol(). Normally restore in 'x' or 'i' modes will ask for a new
(earlier) volume when the current inode number on the tape is greater
than the last inode to be restored, since there can be no further
inodes of interest on that volume. However we don't want to change
volumes in this case either if the user explicitly said that there
are no more tapes, or if we are looking at the first volume.

When no more volumes are available but there are still inodes that
we have not found, we now just fall through to the code that prints
out a list of any missing files, so the restore completes normally.
Also simplify the logic a bit by always returning to the start of
the main for(;;) loop whenever the volume has changed.

This should completely fix the "Changing volumes on pipe input" bug
that is often observed when restoring dumps of active filesystems.

PR:		bin/4176, bin/34604, misc/34675
2002-02-14 01:30:45 +00:00
iedowse
ef921c1a68 Fix a number of long-standing restore bugs in tape.c, mainly relating
to multi-volume restores:
 - In findinode(), keep a copy of header->c_type so that we don't
   exit the do-while loop until we have processed the current header.
   Exiting too early leaves curfile.ino set to 0, which confuses
   the logic in createfiles(), so multi-volume restores with the
   'x' command don't work if you follow the instructions and supply
   the tapes in reverse order.  This appears to have been broken
   by CSRG revision 5.33 tape.c (Oct 1992).
 - The logic in getvol() for deciding how many records to skip after
   the volume header was confused; sometimes it would skip too few
   records and sometimes too many, leading to "resync restore"
   warnings and missing files. Skip to the next header only when
   the current action is not `USING'. Work around a dump bug that
   sets c_count incorrectly in the volume header of the first tape.
   Some of the problems here date back to at least 1991.
 - Back out revision 1.23. This appeared to avoid warnings about
   missing files in the 'rN' verification case, but it made the
   problems with the 'x' command worse by stopping getvol() from
   even attempting to find the first inode number on the newly
   inserted tape. The bug it addressed is fixed by correcting the
   skipping logic as described above.
 - Save the value of `tpblksread' in case the wrong volume is
   supplied, because it is incremented each time we read a volume
   header. We already saved `blksread' for the same reson.
2002-02-13 12:06:58 +00:00
iedowse
8acec98354 Don't refer to findinode()'s `complain' parameter in a comment; it
was removed in 1986.
2002-02-12 17:15:45 +00:00
dillon
2b4b1cef8e I've been meaning to do this for a while. Add an underscore to the
time_to_xxx() and xxx_to_time() functions.  e.g. _time_to_xxx()
instead of time_to_xxx(), to make it more obvious that these are
stopgap functions & placemarkers and not meant to create a defacto
standard.  They will eventually be replaced when a real standard
comes out of committee.
2002-01-19 23:20:02 +00:00
obrien
a537f22ad4 Default to WARNS=2.
Binary builds that cannot handle this must explicitly set WARNS=0.

Reviewed by:	mike
2001-12-04 02:19:58 +00:00
tobez
114b82ca0a Fix a bug where restore(8) segfaults while trying to restore on a
read-only FS.

Reviewed by:	audit silence
Approved by:	markm
MFC after:	2 weeks
2001-10-30 20:06:59 +00:00
dillon
eecb770fd4 Make the protocol/dumprestore.h header match restore's idea of the dump
header for the case where sizeof(time_t) != sizeof(int).  dumprestore.h
was embedding time_t when it should have been embedding int32_t.

Use time_to_time32() and time32_to_time() to convert between the
protocoll/file-format time and time_t.
2001-10-28 20:01:38 +00:00
cjc
eef11b30c8 Documentation fixes:
- The '-d' option was not documented on the manpage or in the
    usage message.

  - The '-N' option was not included in the usage.
2001-10-02 08:24:37 +00:00
ru
0b3b0955a4 restore(8) doesn't need to be setgid `tty', and never did.
At the times, restore(8) and rrestore(8) were the different
utilities.  rrestore(8) was installed setuid `root', while
restore(8) with usual ownership and privileges.  Later on,
on August 28, 1991 (what a coincidence!), rrestore(8) code
was merged with restore(8).  The setgid `tty' bit then was
accidentally put.
2001-08-30 09:18:55 +00:00
dd
5d232e064b Fix grammar. 2001-08-20 02:16:41 +00:00
dd
0a5c911ab1 Respect the -N flag when changing directory attributes in setdirmode).
PR:		29671
Submitted by:	Sascha Blank <sblank@addcom.de>
2001-08-20 02:15:22 +00:00
kris
549ffd12d2 Silence non-constant format string warnings by marking functions
as __printflike()/__printf0like(), adding const, or adding missing "%s"
format strings, as appropriate.

MFC after:	2 weeks
2001-08-19 08:19:37 +00:00
sobomax
d6a2823320 Honour `TMPDIR' environment variable.
Reviewed by:	ru
Approved by:	ru
MFC after:	2 weeks
2001-08-13 09:20:15 +00:00
dd
c49a4e6620 Remove whitespace at EOL. 2001-07-15 07:53:42 +00:00
ru
cb3283b5da mdoc(7) police: removed HISTORY info from the .Os call. 2001-07-10 11:04:34 +00:00
dd
f5d286af56 Include missing header files which define functions for which gcc has
builtins (e.g., exit, strcmp).
2001-06-24 23:04:23 +00:00
mikeh
86e7c34668 Document the interactive command `what'.
Reviewed by:	ru
MFC after:	2 weeks
2001-06-20 04:00:43 +00:00
mjacob
2400572675 Add 'SKIP' as an action so that verification works for multivolume restores.
Tested with filesystem files.

PR:		27218
Submitted by:	mad1@tapil.com
MFC after:	3 weeks
2001-06-11 01:44:06 +00:00