aboutsummaryrefslogtreecommitdiff
path: root/sbin/restore
Commit message (Collapse)AuthorAgeFilesLines
* Make 'struct acl' larger, as required to support NFSv4 ACLs. ProvideEdward Tomasz Napierala2009-05-221-1/+1
| | | | | | | | | compatibility interfaces in both kernel and libc. Reviewed by: rwatson Notes: svn path=/head/; revision=192586
* Restore necessary NUL termination of locname.Warner Losh2009-01-281-0/+1
| | | | | | | | Submitted by: ian dowse MFC after: 2 days Notes: svn path=/head/; revision=187828
* Fix nits pointed out in PR bin/39905 that have not already beenKirk McKusick2008-05-231-3/+3
| | | | | | | | | corrected since it was filed. With this change the PR will be closed. PR: bin/39905 Notes: svn path=/head/; revision=179255
* This fixes the "getfile: lost data" panic when restoring dumpsKirk McKusick2008-05-221-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | on a 7.0 or later system that were created on a pre-5.0 system. We must ensure that restore zeros out the previously undefined birthtime and external attribute size fields when reading dump tapes made by the UFS1 dump program. The problem is that UFS2 dump carefully zeros out the unused birthtime and external attribute size fields in the dump header when dumping UFS1 filesystems, but the UFS1 dump didn't know about those fields (they were spares) so just left whatever random junk was in them. So, when restoring one of these pre-UFS2 dumps, the new restore would eventually trip across a header that had a non-zero external attribute size and try to extract it. That consumed several tape blocks which left it totally out of sync and very unhappy (i.e., the panic). The fix is in the gethead() function which modernizes old headers by copying old fields to their new location (and with this fix) zeroing out previously undefined fields. PR: bin/120881 Review by: David Malone & Scott Lambert MFC after: 1 week Notes: svn path=/head/; revision=179219
* Follow on to fix 1.51 for "Header with wrong dumpdate" message.Kirk McKusick2008-05-221-16/+10
| | | | | | | | | | | | | | Must ensure that dump tapes from UFS1 filesystems properly copy old fields of dump headers to new locations. Move check of dumpdate to follow the code which ensures that the appropriate fields have been copied. PR: bin/118087 Help from: David Malone, Scott Lambert, Javier Martín Rueda MFC after: 2 weeks Notes: svn path=/head/; revision=179218
* restore(8) does not check for write failure while building two tempKirk McKusick2008-04-141-24/+68
| | | | | | | | | | | | | | files containing directory and ownership data. If /tmp fills, the console is blasted with zillions of "file system full" errors, and restore continues on, even though directory and/or ownership data has been lost. This is particularly likely to happen when running from the live CD, which has little /tmp space. PR: bin/93603, also probably bin/107213 Fix from: Ken Lalonde Notes: svn path=/head/; revision=178205
* Avoid printing spurious ``Header with wrong dumpdate.'' message.Kirk McKusick2008-04-111-1/+1
| | | | Notes: svn path=/head/; revision=178126
* Correctly set file group when restore is run by a user other than root.Kirk McKusick2008-04-112-2/+9
| | | | Notes: svn path=/head/; revision=178125
* Use safer string handling.Warner Losh2008-04-032-11/+8
| | | | | | | Reviewed by: security-team Notes: svn path=/head/; revision=177894
* Move macros describing extended attributes in UFS fromKirk McKusick2007-03-061-0/+1
| | | | | | | | | | | | | | <sys/extattr.h> to <ufs/ufs/extattr.h>. Move description of extended attributes in UFS from man9/extattr.9 to man5/fs.5. Note that restore will not compile until <sys/extattr.h> and <ufs/ufs/extattr.h> have been updated. Suggested by: Robert Watson Notes: svn path=/head/; revision=167259
* Update the dump program to save extended attributes. UpdateKirk McKusick2007-02-264-26/+348
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=167011
* Add a "-D" flag to restore which puts it into "degraded" mode. ThisDavid Malone2006-12-055-22/+104
| | | | | | | | | | | | | | | | | | | | | makes restore less efficient, but it makes a bigger effore to read corrupted dumps. Specifiacally, when in degreded mode: 1) Restore shifts the input by 1 byte if it sees a problem, rather than one tape block. 2) It doesn't assume the inodes are stored in ascending order. 3) It turns some panics into warning printfs. We also verify some fields more carefully than before. There's probably more a degreded mode could do, but this seems to help a lot. Approved by: imp, iedowse, mckusick MFC after: 3 weeks Notes: svn path=/head/; revision=164911
* Mention the -L option of dump(8) that can neutralize negativeRuslan Ermilov2006-10-121-2/+5
| | | | | | | | | effects of restoring dumps of live file systems. PR: docs/91297 Notes: svn path=/head/; revision=163272
* o Fix style(9) for previous.Maxim Konovalov2006-08-251-1/+1
| | | | Notes: svn path=/head/; revision=161605
* A bunch of fixes from NetBSD:Maxim Konovalov2006-08-251-17/+23
| | | | | | | | | | | | | | | | | | | | | o Restore owner/group/mode/atime/mtime of symbolic links, rev. 1.30. o Extract file flags of symbolic link, rev. 1.42. o Call getfile() before altering file attributes. Open file with mode 0600 instead of 0666 so that file won't remain group or world readable/writable even if getfile() terminated. Move skipfile() before altering file attributes in IF{CHR,BLK} and IFIFO case for symmetry, rev. 1.32. o Use file mode 0600 when creating special file or fifo, revs. 1.33, 1.34. o Remove redundant -N check. PR: bin/101660 Submitted by: Andrey V. Elsukov Obtained from: NetBSD, enami@netbsd MFC after: 6 weeks Notes: svn path=/head/; revision=161598
* Remove a diagnostic message that can't occur: we lost the ability toDiomidis Spinellis2005-10-201-3/+0
| | | | | | | handle the old filesystem format on 2002/06/21. Notes: svn path=/head/; revision=151509
* Interpret correctly the glob(3) return value.Diomidis Spinellis2005-07-211-1/+7
| | | | | | | | | | Previously, interactive commands specifying a non-existent file or directory used to display an "out of memory error". MFC after: 2 weeks Notes: svn path=/head/; revision=148244
* rscid -> __FBSDID. Mark parameter as __unused when necessary.Philippe Charnier2005-05-294-9/+13
| | | | Notes: svn path=/head/; revision=146754
* Remove debug from last commitWarner Losh2005-04-031-2/+0
| | | | Notes: svn path=/head/; revision=144597
* /*-Warner Losh2005-04-031-1/+1
| | | | Notes: svn path=/head/; revision=144564
* Revert bogus += -g change. I needed it to debug the problem.Warner Losh2005-03-251-1/+0
| | | | | | | Noticed by: njl, Andrej Tobola Notes: svn path=/head/; revision=144117
* Restore the ability to read FreeBSD 1 tapes (and I think any net2Warner Losh2005-03-253-0/+24
| | | | | | | | | | | | | | | | | | based tapes, but I'm not sure where NFS_MAGIC was introduced after 4.3). When support for the pre-4.4 format was removed (the ability to read 4.2 and 4.3 BSD tapes), the old format inode conversion was junked as well. However, FreeBSD 1 dump tapes use the NFS_MAGIC format, but have this inode format. Before, restore would fail complaining that '.' wasn't found and the root directory wasn't on this tape. Since the conversion from the not so old format is relatively trivial, restore the code to make that conversion. FreeBSD 1 dumps are once again readable. MFC After: a few days Notes: svn path=/head/; revision=144099
* dcvt is unused since the support for converting pre-4.4 tapes wasWarner Losh2005-03-252-25/+3
| | | | | | | | | | removed. Go ahead and remove it and struct odirent since it too is unused. # FreeBSD 1.1.5 tapes are still unreadable, but 2.0 and newer work. Notes: svn path=/head/; revision=144097
* c_tapea and c_firstrec are used for TS_TAPE blocks, so convert themWarner Losh2005-03-251-0/+2
| | | | | | | | | | | | for the old (4.4-lite through FreeBSD 4.x and *BSD) format. It looks like they aren't used for TS_INODE, but conversion costs so little there that I've not removed them there (in case my grep was wrong). This makes at least some of the tapes work for me again. Now, to regresion test all my dusty tapes... Notes: svn path=/head/; revision=144093
* In order to print out the dump dates correctly, the date and ddate fieldsWarner Losh2005-03-181-0/+4
| | | | | | | also need to be convereted for old tapes for records of type TAPE. Notes: svn path=/head/; revision=143819
* Sync usage and man page with reality. There's no '-c' command lineWarner Losh2005-03-182-19/+10
| | | | | | | | flag today. Maybe we should still retain it, but I'll let others fight that windmill. Notes: svn path=/head/; revision=143817
* Expand *n't contractions.Ruslan Ermilov2005-02-131-1/+1
| | | | Notes: svn path=/head/; revision=141846
* Sync program's usage() with manpage's SYNOPSIS.Ruslan Ermilov2005-02-101-4/+4
| | | | Notes: svn path=/head/; revision=141611
* Sort sections.Ruslan Ermilov2005-01-181-23/+23
| | | | Notes: svn path=/head/; revision=140415
* Mechanically kill hard sentence breaks.Ruslan Ermilov2004-07-021-4/+8
| | | | Notes: svn path=/head/; revision=131488
* Use the correct types for the functions rst_opendir(), glob_readdir() andStefan Farfeleder2004-05-243-9/+11
| | | | | | | | | | rst_closedir() which are called by glob(). Reviewed by: md5 Approved by: das (mentor) Notes: svn path=/head/; revision=129666
* Include <timeconv.h> for time conversion functions.Stefan Farfeleder2004-05-241-0/+1
| | | | | | | Approved by: das (mentor) Notes: svn path=/head/; revision=129665
* Assorted markup, grammar, and spelling fixes.Ruslan Ermilov2004-05-171-1/+1
| | | | Notes: svn path=/head/; revision=129327
* Add -P arguments for dump(8) and restore(8) which allow the user toBrian Feldman2004-04-134-19/+92
| | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=128175
* Remove advertising clause from University of California Regent's license,Mark Murray2004-04-0910-40/+0
| | | | | | | | | per letter dated July 22, 1999. Approved by: core, imp Notes: svn path=/head/; revision=128073
* style.Makefile(5):Johan Karlsson2004-02-231-1/+1
| | | | | | | Use WARNS?= instead of WARNS=. Notes: svn path=/head/; revision=126178
* Fix gcc warnings. If NAME_MAX is 255, and d_namlen is a uint8_t, thenPeter Wemm2003-10-261-2/+7
| | | | | | | | d_namlen can never be > NAME_MAX. Stop gcc worrying about this by using a preprocessor test to see if NAME_MAX changes. Notes: svn path=/head/; revision=121541
* Localize 'ls' outputAndrey A. Chernov2003-08-062-4/+8
| | | | | | | Don't set 8bit in quote processing Notes: svn path=/head/; revision=118526
* Add section number to .XrPhilippe Charnier2003-06-081-1/+1
| | | | Notes: svn path=/head/; revision=116035
* Removed all vestiges of KerberosIV.Ruslan Ermilov2003-05-013-14/+11
| | | | Notes: svn path=/head/; revision=114463
* Style.Ruslan Ermilov2003-05-011-2/+3
| | | | Notes: svn path=/head/; revision=114460
* De-Kerberise (KerberosIV). KerberosIV is no longer present, andMark Murray2003-05-013-29/+0
| | | | | | | | remote backups can still be done with Kerberos authentication using SSH and Kerberos 5. Notes: svn path=/head/; revision=114452
* Add TAPE to the ENVIRONMENT section.Sheldon Hearn2003-01-101-0/+2
| | | | | | | MFC after: 1 month Notes: svn path=/head/; revision=109066
* Add an ENVIRONMENT section so that the reader knows that the TMPDIR envarSheldon Hearn2003-01-101-0/+5
| | | | | | | | | | is honoured. Reported by: des MFC after: 1 month Notes: svn path=/head/; revision=109065
* Fixed the abuses of .Ql visible on stderr in troff mode.Ruslan Ermilov2002-12-231-1/+1
| | | | | | | PR: docs/37176 Notes: svn path=/head/; revision=108221
* Use the standardized CHAR_BIT constant instead of NBBY in userland.Mike Barcroft2002-09-258-2/+11
| | | | Notes: svn path=/head/; revision=103949
* Replace various spelling with FALLTHROUGH which is lint()ablePhilippe Charnier2002-08-252-3/+3
| | | | Notes: svn path=/head/; revision=102411
* Use '0' instead of NULL when we mean the integer constant 0 and not aWarner Losh2002-08-211-1/+1
| | | | | | | "null pointer expression". Notes: svn path=/head/; revision=102232
* s/filesystem/file system/g as discussed on -developersTom Rhodes2002-08-215-21/+21
| | | | Notes: svn path=/head/; revision=102231
* Change utimes to set the file creation time (for filesystems thatKirk McKusick2002-07-173-15/+33
| | | | | | | | | | | 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. Notes: svn path=/head/; revision=100207