Commit Graph

247 Commits

Author SHA1 Message Date
lukem
a0618cd165 appease gcc -Wuninitialized 2005-06-02 00:48:48 +00:00
wiz
29d2ffbe11 Sort SEE ALSO. 2005-04-19 11:04:34 +00:00
hannken
07417a9241 Fix copyright date for previous. 2005-04-19 08:10:43 +00:00
hannken
1f51c28099 Snapshot support for dump(8):
- New option `-x backup' takes the dump from a snapshot backed up by `backup'.
  The snapshot will be deleted on exit.

- New option `-X' as a synonym for `-x mountpoint' where `mountpoint' is the
  file system to be dumped.

Reviewed and Approved by: Manuel Bouyer <bouyer@netbsd.org>
2005-04-19 07:26:38 +00:00
lukem
c9e78fddc5 Signal handlers should manipulate 'volatile sig_atomic_t' instead of 'int'. 2004-08-08 09:46:16 +00:00
hannken
8c21bc6224 Add ffs internal snapshots. Written by Marshall Kirk McKusick for FreeBSD.
- Not enabled by default. Needs kernel option FFS_SNAPSHOT.
- Change parameters of ffs_blkfree.
- Let the copy-on-write functions return an error so spec_strategy
    may fail if the copy-on-write fails.
- Change genfs_*lock*() to use vp->v_vnlock instead of &vp->v_lock.
- Add flag B_METAONLY to VOP_BALLOC to return indirect block buffer.
- Add a function ffs_checkfreefile needed for snapshot creation.
- Add special handling of snapshot files:
    Snapshots may not be opened for writing and the attributes are read-only.
    Use the mtime as the time this snapshot was taken.
    Deny mtime updates for snapshot files.
- Add function transferlockers to transfer any waiting processes from
  one lock to another.
- Add vfsop VFS_SNAPSHOT to take a snapshot and make it accessible through
  a vnode.
- Add snapshot support to ls, fsck_ffs and dump.

Welcome to 2.0F.

Approved by: Jason R. Thorpe <thorpej@netbsd.org>
2004-05-25 14:54:55 +00:00
christos
6bd1d6d4db Replace the statfs() family of system calls with statvfs().
Retain binary compatibility.
2004-04-21 01:05:31 +00:00
dsl
83a830e1f1 Don't require ffsv2 fs have FS_FLAGS_UPDATED set 2004-03-27 12:59:18 +00:00
ws
7f76a970b7 After determining whether the filesystem is byte swapped,
we better return that fact to the caller.
2004-03-24 17:07:12 +00:00
hannken
7deceea338 Make the computation of estimated blocks work for frag size != 1024. 2004-03-24 12:28:51 +00:00
dsl
13e2deaa83 When searching for the superblock, don't pick an ffsv1 superblock from the
location where we expect to find an ffsv2 superblock.
It could be the first alternate for a ffsv1 filesystem with 64k blocks.
Fixes part of PR kern/24809
2004-03-21 20:30:38 +00:00
lukem
b166f025eb Adjust tstart_volume (volume start time) by the time spent in query(),
similar to the adjustment for tstart_writing made in optr.c rev 1.4.
Should fix PR bin/19711 from matthew green.
2004-03-15 01:06:06 +00:00
hannken
912c7e4549 Avoid signal race condition. If a slave gets the SIGUSR2 signal between
the "setjmp" and the "ready = 1" statements the slave will pause forever
and the complet dump hangs.

Fixes PR #24453
2004-02-18 10:45:21 +00:00
simonb
bb850c0c5e Use HW_USERMEM64 to fetch the amount of memory available. 2003-09-13 10:59:50 +00:00
agc
bf07c8719a Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22308, verified by myself.
2003-08-07 10:04:11 +00:00
lukem
9014bdbce6 * Document $RCMD_CMD in environ(7).
* Cross-reference rcmd(1), rcmd(3), and environ(7) as appropriate.

Should fix [bin/21670] from Geoff Wing.
2003-05-26 10:18:39 +00:00
fvdl
617c9472c7 Fix byteswapping issues in dirindir(); mostly from Enami Tsugutomo. 2003-05-01 11:29:55 +00:00
fvdl
161b371dad Swap the right disk block in mapdirs() for the UFS1 case. From Enami. 2003-05-01 10:59:20 +00:00
tls
539a3fbb0a The sysctl returning the amount of memory in the system returns "int",
which is silly.  Luckily, it really does return the correct result if
interpreted as an unsigned int.  This change lets dump work on 32-bit
systems that have more than 2GB of RAM.
2003-04-19 23:29:12 +00:00
fvdl
2812e7d837 Since the size passed in may be different from the fs blocksize, just
allocate a buffer each time instead of using a static one.
2003-04-08 10:02:23 +00:00
fvdl
0835d456dd dblk should be static. Fixes PR 21020, by Geoff Wing. Patch supplied
by him.
2003-04-08 09:16:19 +00:00
fvdl
42614ed3f3 Add support for UFS2. UFS2 is an enhanced FFS, adding support for
64 bit block pointers, extended attribute storage, and a few
other things.

This commit does not yet include the code to manipulate the extended
storage (for e.g. ACLs), this will be done later.

Originally written by Kirk McKusick and Network Associates Laboratories for
FreeBSD.
2003-04-02 10:39:19 +00:00
lukem
ec029d0aa9 Use "wall -g operator" (instead of private code) to broadcast() messages to
members of the operator group.
Don't install "setgid tty", and remove now unnecessary gid/egid swapping.
Remove utmp trawling code pulled in from usr.bin/who.
The Code is now simpler, and more portable (without the utmp cruft) too.

This is derived from similar work in OpenBSD.
2003-03-27 13:56:46 +00:00
wiz
990562bfef .Nm does not need a dummy argument ("") before punctuation or
for correct formatting of the SYNOPSIS any longer.
2003-02-25 10:34:36 +00:00
enami
166444b3a9 No need to print same error message twice in the same line. 2003-02-06 23:25:02 +00:00
enami
8d849f483a Check lseek error correctly (i.e., use == -1 rather than < 0). 2003-02-06 23:00:08 +00:00
perry
8a49ec08e4 "Utilize" has exactly the same meaning as "use," but it is more
difficult to read and understand. Most manuals of English style
therefore say that you should use "use".
2003-02-04 23:07:28 +00:00
enami
c27806c8fd Fix typo I've introduced while cleaning up for commit. 2003-02-04 08:43:16 +00:00
enami
3053f5ec9b - Fix daddr_t print format inside ifdef DIAGNOSTIC.
- Start scan cache entry just filled, rather than starting from top.
2003-02-04 08:24:20 +00:00
enami
c886a0529a Convert `nblksread' to in terms of device block size. This restores
originally intended behaviour (see tech-userlevel archive around 1999 March).
2003-02-04 08:11:50 +00:00
enami
799974edb6 Cosmetic changes. 2003-02-04 08:06:42 +00:00
hannken
c089bab65b Merge "struct cheader" and "struct cdesc" into an union.
No more alignment problems if the alignment of these two differs.

Approved by: Manuel Bouyer <bouyer@netbsd.org>
2003-02-03 23:08:37 +00:00
fvdl
a3ff3a3038 Bump daddr_t to 64 bits. Replace it with int32_t in all places where
it was used on-disk, so that on-disk formats remain the same.
Remove ufs_daddr_t and ufs_lbn_t for the time being.
2003-01-24 21:55:02 +00:00
kleink
b3df6303a9 Rename `sigset' locals to avoid symbol shadowing warning. 2003-01-16 09:38:37 +00:00
itojun
bc0b132907 should be safer to cast to u_long than to cast down to int 2002-11-17 04:49:18 +00:00
tsutsui
b2c857ac58 Add a cast to sizeof in printf() arg since _BSD_SIZE_T is unsigned long
on some ports.
2002-11-17 04:44:42 +00:00
itojun
94ccb14a99 use strlcpy. use sizeof() instead of xxLEN to avoid de-synchronization 2002-11-16 14:15:35 +00:00
wiz
2fb4b1db52 New sentence, new line. By Robert Elz with minimal fixes. 2002-10-01 13:40:23 +00:00
lukem
19eb88dfa1 Add fix from FreeBSD traverse.c 1.16:
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).

	FreeBSD PR: 32414
	Submitted by:   David C Lawrence <tale@dd.org>
2002-09-30 10:48:49 +00:00
lukem
7360d7b6ae Use ${NETBSDSRCDIR}/some/path instead of ${.CURDIR}/../../some/path 2002-08-19 10:16:51 +00:00
yamt
41d3da5939 save/restore errno in signal handlers. 2002-08-18 08:03:35 +00:00
itojun
2abe377059 defend against malicious line in ut_line, which could cause unwanted
writes to anything under /dev.  revoke setuid/gid privs earlier.
From: xs@kittenz.org
2002-08-16 20:21:48 +00:00
christos
8e5a0987a4 support utmpx 2002-08-02 02:07:09 +00:00
wiz
f26d205dbb Typo fix, from jslag@prop.walkerart.org via OpenBSD. 2002-02-26 02:00:15 +00:00
lukem
56705fb84f rcsid 2002-02-19 23:11:28 +00:00
wiz
b8ed997fc6 Fix typo in macro. 2002-01-21 18:14:33 +00:00
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