Commit Graph

47 Commits

Author SHA1 Message Date
perseant
1c57171fe3 Change LFCNWRAP{STOP,GO} to make them more suitable for snapshotting; in
particular, the caller can now choose whether to wait for the condition
to be met, and if the caller of LFCNWRAPSTOP dies or otherwise closes
the descriptor, the filesystem is started again.  Updated the ckckp
regression test to use the new semantics.

dump_lfs(8) now uses the fcntls to implement LFS-style snapshotting through
the -X flag, addressing PR#33457 albeit not using fss(4).  Fixed a couple
other problems with dump_lfs that manifested themselves during testing.
2006-06-24 05:28:54 +00:00
skrll
7ba7efe154 Don't use cast expressions as lvalues as newer versions of gcc warn. 2006-04-21 15:00:49 +00:00
christos
c4ee9f6d2e 64 bit inode changes 2005-08-19 02:07:18 +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
hannken
7deceea338 Make the computation of estimated blocks work for frag size != 1024. 2004-03-24 12:28:51 +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
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
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
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
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
1ab8ecafe7 unifdef sunos 2001-12-23 12:54:53 +00:00
lukem
4c4307e3ce fix -Wshadow warnings 2001-11-01 08:03:03 +00:00
lukem
b00117c331 s/filesystem/file system/dump.h 2001-08-14 05:44:15 +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
99feaf5b29 knf to ansi 2001-05-27 14:17:56 +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
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
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
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
lukem
919c9246d4 resolve conflicts from lite-2 import 1997-09-16 06:41:19 +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
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
lukem
93da79de2b remove use of "register". 1997-04-15 01:09:49 +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
cgd
93a2f4ea60 update for posixified stat structure 1995-06-18 21:35:33 +00:00
mycroft
ae16273156 Back out previous change. 1995-06-11 05:16:04 +00:00
cgd
788733b7a9 typeof(timeval.tv_sec) != time_t 1995-06-07 17:14:21 +00:00
mycroft
5745c084e8 Fix another bogus cast. 1995-03-27 22:14:47 +00:00
mycroft
61b709b720 Remove incorrect cast on lseek() return value. 1995-03-27 21:48:52 +00:00
cgd
0114e805ce convert to new RCS Id conventions; reduce my headache 1995-03-18 14:54:19 +00:00
mycroft
0c1f0c97eb Don't mix stat flags and inode flags. 1995-01-30 20:32:01 +00:00
mycroft
ea7b5d4ec6 Eliminate uses of some obsolete functions. 1994-09-23 14:26:58 +00:00
mycroft
47597918a1 Correct typo; IFMT -> S_IFMT. 1994-09-17 23:59:03 +00:00
mycroft
eadb2ad514 Fix compatibility with old fastlinks. 1994-06-14 22:49:57 +00:00
mycroft
ccfa3742b5 Update from 4.4-Lite, with local changes. 1994-06-08 18:57:30 +00:00
cgd
af8ee2b8b6 change some #ifdef's. 1994-04-25 18:22:50 +00:00
cgd
12844e4345 fix for() starting condition in mapfiles() 1994-01-14 21:29:51 +00:00
cgd
108d89475f new version from CSRG, via BSDI, with fixes 1993-12-22 10:19:31 +00:00