Commit Graph

128 Commits

Author SHA1 Message Date
Kirk McKusick
fb36a3d847 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
Ian Dowse
7680e41ce2 Oops, the previous revision (1.22) introduced a potential alignment
issue, since the MAXBSIZE-sized buffers are accessed as arrays of
block pointers, but were declared as char[] arrays. Use a union to
avoid this, which also makes a number of casts unnecessary.

Pointed out by:	bde
Reviewed by:		bde
2002-07-08 23:53:21 +00:00
Robert Drehmel
247ac241fa - Do not include <utmp.h> for no reason.
- Remove unneeded utmp path constant.
2002-07-08 09:02:02 +00:00
Ian Dowse
1e0276afb3 Use a fixed MAXBSIZE-size auto array instead of a static pointer
to a malloc'd buffer in dmpindir() and dirindir(). These functions
recursively call themselves to handle deeper levels of indirect
blocks, so a single static buffer was not suitable.

Bug tracked down by:	Don Lewis <dl-freebsd@catspoiler.org>
Approach suggested by:	bde
2002-07-08 01:25:54 +00:00
Ian Dowse
617dbd3c84 Replace the use of %qd with intmax_t/%jd and fix a number of -Wall
and -Wformat warnings:
 o Include timeconv.h for the time conversion functions.
 o Remove unused variables.
 o Correct a few cases where %d was used when printing longs.
2002-07-08 00:29:23 +00:00
Ian Dowse
325167c3a5 Fix some printf format errors.
Submitted by:	Don Lewis <dl-freebsd@catspoiler.org>
2002-07-07 12:30:20 +00:00
Philippe Charnier
e1205e80e5 The .Nm utility 2002-07-06 19:34:18 +00:00
Kirk McKusick
1c85e6a35d 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
Poul-Henning Kamp
d266a28647 s/daddr_t/ufs_daddr_t/g
This should fix the issues which cropped up after daddr_t grew up.

Sponsored by:	DARPA & NAI Labs.
2002-06-06 19:59:46 +00:00
Ruslan Ermilov
1ec84e5051 mdoc(7) police: nits. 2002-05-29 16:19:26 +00:00
Juli Mallett
5fab96cfa4 Move _PATH_WALL from dump and shutdown's local pathnames.h to paths.h. 2002-05-17 11:47:12 +00:00
Tom Rhodes
3468b317cb more file system > filesystem 2002-05-16 04:10:46 +00:00
Poul-Henning Kamp
75766e179d Sigh, more BBSIZE related breakage.
Sponsored by:	DARPA & NAI Labs.
2002-05-12 21:37:08 +00:00
Ruslan Ermilov
71b3ac84e1 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
Tom Rhodes
7ac806655e dump(8)'s manual page is confusing in its use of records, blocks,
blocksizes, etc
does not give the default of -b
only mentiones rdump in the NAME section
uses both filesystem and file system in similar contexts

PR:		34248
Submitted by:	Gary W. Swearingen <swear@blarg.net>
MFC after:	3 days
2002-04-17 02:10:33 +00:00
Warner Losh
2db673ab00 o remove __P
o Use ANSI function definitions
o unifdef -D__STDC__
2002-03-20 22:49:40 +00:00
Ruslan Ermilov
992b9b7a2a mdoc(7) police: tiny fixes. 2002-03-15 14:34:10 +00:00
Ian Dowse
9ac0768d74 Add a new "-S" flag to dump to allow it just print out dump estimate
size and then exit.

PR:		bin/35450
Submitted by:	Mark Hannon <markhannon@optushome.com.au>
Obtained from:	NetBSD
MFC after:	1 week
2002-03-01 20:54:23 +00:00
Ian Dowse
2bb823d2b9 Supply progress information in dump's process title, which is useful
for monitoring automated backups. This is based on a patch by Mikhail
Teterin, with some changes to make its operation clearer and to
update the proctitle more frequently.

PR:		bin/32138
2002-02-16 21:05:16 +00:00
Ian Dowse
19f8080e63 On receipt of a SIGINFO, schedule an immediate printout of the
percentage complete and remaining time estimate.

PR:		bin/32138
Submitted by:	mi
2002-02-16 20:22:26 +00:00
Ian Dowse
ff5e109e47 Make dump's behaviour more sensible when the output file is a fifo.
Normally trewind() performs a close-open-close cycle to rewind the
tape when closing the device, but this is not ideal for fifos. We
now skip the final open-close if the output descriptor is a fifo.

PR:		bin/25474
Submitted by:	Alex Bakhtin <bakhtin@amt.ru>
MFC after:	1 week
2002-02-11 00:50:50 +00:00
Dima Dorfman
71717f5def Make it clear that dump(8)'s honoring of the UF_NODUMP flag is subject
to the -h option.  While here, xref chflags(1).

PR:		33907
Submitted by:	Gary W. Swearingen <swear@blarg.net>
2002-02-10 22:14:09 +00:00
Matthew Dillon
170ac683f2 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
David E. O'Brien
016298551c Files in subdirectories of directories that have the nodump flag set
are sometimes incorrectly being dumped.

The problem arises because the subdirectory only gets its entry
cleared from usedinomap if it is also present in dumpinomap, and it is
the absence of a directory in usedinomap that internally indicates
that the directory is under the effects of UF_NODUMP (either directly
or inherited).

PR:		32414
Submitted by:	David C Lawrence <tale@dd.org>
2001-12-05 20:42:52 +00:00
David E. O'Brien
2d68bf45bf 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
Ian Dowse
d2334e27e9 Zap a number of #ifdef sunos blocks, and all of the `register'
keywords.
2001-11-17 00:06:55 +00:00
Ian Dowse
a50e99d137 Give a sensible error message when the filesystem to be dumped is
not listed in /etc/fstab. Previously, the user would be greeted
with "DUMP: bad sblock magic number" when dump tried to parse
the directory contents as an FFS filesystem.

PR:		bin/12789
Submitted by:	Bob Willcox <bob@pmr.com>
2001-11-16 22:13:44 +00:00
Matthew Dillon
5b3817c60b 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
Matthew Dillon
788bbd2d61 deltat declared time_t, msg("") call used %d (assumed time_t == int).
Changed deltat to be an int (result of delta time calculation).

MFC after:	1 day
2001-10-28 06:13:47 +00:00
Ruslan Ermilov
4a315a9af3 SECURITY.
Notify operators using wall(1)'s -g option.
Drop ``setgid tty'' privilege.

Obtained from:	OpenBSD
MFC after:	1 month
2001-09-05 15:37:01 +00:00
Ruslan Ermilov
d6669bbcc2 Don't reinvent the wheel; use strptime(3).
MFC after:	2 weeks
2001-09-04 16:17:17 +00:00
Kris Kennaway
eb1d91d1c9 Mark some functions as __printflike()
MFC After:	1 week
2001-08-10 23:12:10 +00:00
Dima Dorfman
03578dfec7 Sort options in DESCRIPTION. 2001-07-15 14:00:19 +00:00
Dima Dorfman
478810b578 Bump date for addition of -D. 2001-07-15 13:57:06 +00:00
Dima Dorfman
7ebcc426ef Remove whitespace at EOL. 2001-07-15 07:53:42 +00:00
Ruslan Ermilov
9fe48c6e8d mdoc(7) police: removed HISTORY info from the .Os call. 2001-07-10 11:04:34 +00:00
Ruslan Ermilov
448087ae70 mdoc(7) police:
Restored .Pa for ``dumpdates'' (it's still a file).
Also, removed duplicate ``file'' words.
2001-07-10 09:34:55 +00:00
Matthew Dillon
988d64c256 Add manual page and usage for dump -D (supplied by Dima Dorfman) (will also
be MFC'd)

Submitted by: Dima Dorfman <dima@unixfreak.org>
2001-07-09 03:06:56 +00:00
Matthew Dillon
cedae1f478 Oops, forgot to add 'D' to the option morphing block. 2001-07-08 19:48:37 +00:00
Matthew Dillon
3860f7810d Add a -D option to dump, allowing the path for the /etc/dumpdates file to be
changed, so independant entities backing up the same thing to different
media can be made not to trip over each other.

MFC after: 3 days
2001-07-08 19:45:20 +00:00
Mike Heffner
be1bf707c9 Convert two instances of a lseek()+read() combination to a pread().
PR:		bin/17640
MFC after:	2 weeks
2001-07-01 04:46:20 +00:00
Dima Dorfman
33d3b9f878 Since we use getopt (in rev. 1.12), there's no need for the case's for
the individual options to increment argv and decrement argc.  This
caused the -T option to swallow an extra argument.

PR:		27982
Submitted by:	Samuel Greear <sgreear@vsni.com>
2001-06-09 04:32:46 +00:00
Jordan K. Hubbard
2c8094f344 Fix bogon with the nodump flag.
Submitted by:	Dima Dorfman <dima@unixfreak.org>
2001-04-19 01:39:27 +00:00
David E. O'Brien
6cc546f248 Remove two lint directives that aren't needed since rev 1.5. 2001-03-30 16:51:51 +00:00
David E. O'Brien
b2f6bdeeaa Make rev 1.5 better match the rest of dump(8)'s output. 2001-03-27 19:38:34 +00:00
David E. O'Brien
8cc6e4d84a Do not exit if unable to read /etc/dumpdates or create it.
If one is trying to dump or repair an ill system, give the user a fighting
chance.  Refusing to operate w/o a very non-critical file (feature) is
just plain stupid.
2001-03-27 19:28:00 +00:00
Ruslan Ermilov
0a5779d45b - Backout botched attempt to introduce MANSECT feature.
- MAN[1-9] -> MAN.
2001-03-26 14:33:27 +00:00
Ruslan Ermilov
fe655281c5 Set the default manual section for sbin/ to 8. 2001-03-20 18:13:31 +00:00
David E. O'Brien
ff7405adba bye-bye documented raw devices 2001-03-09 13:06:53 +00:00
David E. O'Brien
8454c72c24 Move _PATH_DEFTAPE to <paths.h> to remove all the duplication of definitons,
and remove leading `r'(aw) from it.
2001-03-08 09:04:40 +00:00