#
772ad651 |
| 26-Feb-2007 |
Kirk McKusick <mckusick@FreeBSD.org> |
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 ex
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
show more ...
|
Revision tags: release/6.2.0_cvs, release/6.2.0, release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0 |
|
#
0b39291e |
| 11-Apr-2006 |
David Malone <dwmalone@FreeBSD.org> |
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 o
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
show more ...
|
Revision tags: release/6.0.0_cvs, release/6.0.0, release/5.4.0_cvs, release/5.4.0 |
|
#
0c40596c |
| 02-May-2005 |
Xin LI <delphij@FreeBSD.org> |
Make gcc4 happy by making consistent signedness.
|
Revision tags: release/4.11.0_cvs, release/4.11.0, release/5.3.0_cvs, release/5.3.0 |
|
#
8518a74a |
| 28-Jul-2004 |
Alexander Kabaev <kan@FreeBSD.org> |
Avoid casts as lvalues.
|
Revision tags: release/4.10.0_cvs, release/4.10.0 |
|
#
4c723140 |
| 09-Apr-2004 |
Mark Murray <markm@FreeBSD.org> |
Remove advertising clause from University of California Regent's license, per letter dated July 22, 1999.
Approved by: core, imp
|
Revision tags: release/5.2.1_cvs, release/5.2.1, release/5.2.0_cvs, release/5.2.0 |
|
#
155ea063 |
| 04-Nov-2003 |
Ian Dowse <iedowse@FreeBSD.org> |
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 appe
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
show more ...
|
Revision tags: release/4.9.0_cvs, release/4.9.0, release/5.1.0_cvs, release/5.1.0 |
|
#
924a7003 |
| 07-May-2003 |
Kirk McKusick <mckusick@FreeBSD.org> |
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 sec
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.
show more ...
|
Revision tags: release/4.8.0_cvs, release/4.8.0, release/5.0.0_cvs, release/5.0.0 |
|
#
5941e412 |
| 13-Jan-2003 |
Matthew Dillon <dillon@FreeBSD.org> |
Add a caching option to dump. Use -C. Note that NetBSD has a caching option called -r but it takes 512 byte blocks instead of megabytes, and I felt a megabytes specification would be far more usefu
Add a caching option to dump. Use -C. Note that NetBSD has a caching option called -r but it takes 512 byte blocks instead of megabytes, and I felt a megabytes specification would be far more useful so I did not use the same option character.
This will *greatly* improve dump performance at the cost of possibly missing filesystem changes that occur between passes, and does a fairly good job making up for the loss of buffered block devices. Caching is disabled by default to retain historical behavior.
In tests, dump performance improved by about 40% when dumping / or /usr.
Beware that dump forks and the cache may wind up being larger then you specify, but a more complex shared memory implementation would not produce results that are all that much better so I kept it simple for now.
MFC after: 3 days
show more ...
|
#
6bfd0bdc |
| 03-Dec-2002 |
Kirk McKusick <mckusick@FreeBSD.org> |
Correct the estimated block count calculated by dump to account for the minimal amount of space used by a snapshot.
Sponsored by: DARPA & NAI Labs.
|
#
69becf4a |
| 03-Dec-2002 |
Kirk McKusick <mckusick@FreeBSD.org> |
Properly handle UFS2 sparsely allocated inodes. The UFS2 filesystem only preallocates a small number of inodes. The dump program tries to scan through all the allocated inodes on a filesystem which c
Properly handle UFS2 sparsely allocated inodes. The UFS2 filesystem only preallocates a small number of inodes. The dump program tries to scan through all the allocated inodes on a filesystem which causes bad behavior if they have never been allocated. Thus dump must calculate the set of inodes that have actually been allocated and scan only those inodes.
Sponsored by: DARPA & NAI Labs.
show more ...
|
#
be5b1425 |
| 01-Dec-2002 |
Kirk McKusick <mckusick@FreeBSD.org> |
Mark snapshots so that dump will dump them as zero length regular files rather than trying to interpret the snapshot.
Sponsored by: DARPA & NAI Labs.
|
Revision tags: release/4.7.0_cvs |
|
#
89fdc4e1 |
| 25-Sep-2002 |
Mike Barcroft <mike@FreeBSD.org> |
Use the standardized CHAR_BIT constant instead of NBBY in userland.
|
#
7fed38d0 |
| 25-Aug-2002 |
Philippe Charnier <charnier@FreeBSD.org> |
Replace various spelling with FALLTHROUGH which is lint()able
|
#
ce66ddb7 |
| 21-Aug-2002 |
Tom Rhodes <trhodes@FreeBSD.org> |
s/filesystem/file system/g as discussed on -developers
|
Revision tags: release/4.6.2_cvs, release/4.6.2, release/4.6.1 |
|
#
fb36a3d8 |
| 17-Jul-2002 |
Kirk McKusick <mckusick@FreeBSD.org> |
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 cu
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.
show more ...
|
#
7680e41c |
| 09-Jul-2002 |
Ian Dowse <iedowse@FreeBSD.org> |
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 t
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
show more ...
|
#
1e0276af |
| 08-Jul-2002 |
Ian Dowse <iedowse@FreeBSD.org> |
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 blo
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
show more ...
|
#
617dbd3c |
| 08-Jul-2002 |
Ian Dowse <iedowse@FreeBSD.org> |
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 w
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.
show more ...
|
#
325167c3 |
| 07-Jul-2002 |
Ian Dowse <iedowse@FreeBSD.org> |
Fix some printf format errors.
Submitted by: Don Lewis <dl-freebsd@catspoiler.org>
|
Revision tags: release/4.6.0_cvs |
|
#
1c85e6a3 |
| 21-Jun-2002 |
Kirk McKusick <mckusick@FreeBSD.org> |
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
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>
show more ...
|
#
d266a286 |
| 06-Jun-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
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.
|
#
2db673ab |
| 20-Mar-2002 |
Warner Losh <imp@FreeBSD.org> |
o remove __P o Use ANSI function definitions o unifdef -D__STDC__
|
Revision tags: release/4.5.0_cvs, release/4.4.0_cvs |
|
#
01629855 |
| 05-Dec-2001 |
David E. O'Brien <obrien@FreeBSD.org> |
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 i
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>
show more ...
|
#
d2334e27 |
| 17-Nov-2001 |
Ian Dowse <iedowse@FreeBSD.org> |
Zap a number of #ifdef sunos blocks, and all of the `register' keywords.
|
#
be1bf707 |
| 01-Jul-2001 |
Mike Heffner <mikeh@FreeBSD.org> |
Convert two instances of a lseek()+read() combination to a pread().
PR: bin/17640 MFC after: 2 weeks
|