summaryrefslogtreecommitdiffstats
path: root/sbin/restore
Commit message (Collapse)AuthorAgeFilesLines
* MFC of r269303:mckusick2014-08-061-3/+5
| | | | | | | | | | | When restoring a UFS dump onto a ZFS filesystem, an assertion in restore was failing because ZFS was reporting a blocksize that was not a multiple of 1024. Replace restore's failed assertion with code that writes restored files in a blocksize that works for restore (a multiple of 1024) despite being non-optimal for ZFS. Submitted by: Dmitry Morozovsky Tested by: Dmitry Morozovsky
* Check the return error of set[e][ug]id. While this can never fail in theeadler2012-10-221-1/+5
| | | | | | | | | | current version of FreeBSD, this isn't guarenteed by the API. Custom security modules, or future implementations of the setuid and setgid may fail. Submitted by: Erik Cederstrand Approved by: cperciva MFC after: 3 days
* Fix sbin/ build with a 64-bit ino_t.mdf2012-09-275-31/+39
| | | | Original code by: Gleb Kurtsou
* Make sure that each va_start has one and only one matching va_end,kevlo2012-05-291-0/+1
| | | | especially in error cases.
* mdoc: move two sentences from synopsis to description (where they reallyjoel2012-05-231-10/+8
| | | | belong). With this change, mandoc now formats these manpages properly.
* mdoc: make pages render with mandocuqs2010-10-211-1/+0
| | | | | | It's a bit more pedantic regarding .Bl list elements. This has an added benefit of unbreaking the ipfw(8) manpage, where groff was silently skipping one list element.
* Fix grammar in a line of output.brueffer2010-05-121-1/+1
| | | | | | PR: 145343 Submitted by: Hywel Mallett <hywel@hmallett.co.uk> MFC after: 1 week
* Fix common misspelling of hierarchyuqs2010-02-201-1/+1
| | | | | Pointed out by: bf1783 at gmail Approved by: np (cxgb), kientzle (tar, etc.), philip (mentor)
* Don't try to determine tape block size when the -P option is used.jh2010-02-131-1/+1
| | | | | | This was missed in r203157. PR: bin/121502
* - Handle short reads when the -P option is used. Short reads must bejh2010-01-291-8/+3
| | | | | | | | | | handled when reading from pipes. - Remove dead code related to the -P option from getvol(). pipein and pipecmdin are never set at the same time. PR: bin/121502 Approved by: trasz (mentor) MFC after: 2 weeks
* - Cast time_t, int64_t and some int32_t values to intmax_t and use "%jd"jh2010-01-295-25/+29
| | | | | | | | | | | | | in format strings. - Use (void) instead of (void *) when discarding strcat(3) return value. - Format string fixes to match variable types. - Change canon() len parameter and getcmd() size parameter type from int to size_t. - Style Makefile and increase WARNS to 2. PR: bin/140061 Submitted by: uqs Approved by: trasz (mentor)
* Make 'struct acl' larger, as required to support NFSv4 ACLs. Providetrasz2009-05-221-1/+1
| | | | | | compatibility interfaces in both kernel and libc. Reviewed by: rwatson
* Restore necessary NUL termination of locname.imp2009-01-281-0/+1
| | | | | Submitted by: ian dowse MFC after: 2 days
* Fix nits pointed out in PR bin/39905 that have not already beenmckusick2008-05-231-3/+3
| | | | | | corrected since it was filed. With this change the PR will be closed. PR: bin/39905
* This fixes the "getfile: lost data" panic when restoring dumpsmckusick2008-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
* Follow on to fix 1.51 for "Header with wrong dumpdate" message.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
* restore(8) does not check for write failure while building two tempmckusick2008-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
* Avoid printing spurious ``Header with wrong dumpdate.'' message.mckusick2008-04-111-1/+1
|
* Correctly set file group when restore is run by a user other than root.mckusick2008-04-112-2/+9
|
* Use safer string handling.imp2008-04-032-11/+8
| | | | Reviewed by: security-team
* Move macros describing extended attributes in UFS frommckusick2007-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
* Update the dump program to save extended attributes. Updatemckusick2007-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
* Add a "-D" flag to restore which puts it into "degraded" mode. Thisdwmalone2006-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
* Mention the -L option of dump(8) that can neutralize negativeru2006-10-121-2/+5
| | | | | | effects of restoring dumps of live file systems. PR: docs/91297
* o Fix style(9) for previous.maxim2006-08-251-1/+1
|
* A bunch of fixes from NetBSD:maxim2006-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
* Remove a diagnostic message that can't occur: we lost the ability todds2005-10-201-3/+0
| | | | handle the old filesystem format on 2002/06/21.
* Interpret correctly the glob(3) return value.dds2005-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
* rscid -> __FBSDID. Mark parameter as __unused when necessary.charnier2005-05-294-9/+13
|
* Remove debug from last commitimp2005-04-031-2/+0
|
* /*-imp2005-04-031-1/+1
|
* Revert bogus += -g change. I needed it to debug the problem.imp2005-03-251-1/+0
| | | | Noticed by: njl, Andrej Tobola
* Restore the ability to read FreeBSD 1 tapes (and I think any net2imp2005-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
* dcvt is unused since the support for converting pre-4.4 tapes wasimp2005-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.
* c_tapea and c_firstrec are used for TS_TAPE blocks, so convert themimp2005-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...
* In order to print out the dump dates correctly, the date and ddate fieldsimp2005-03-181-0/+4
| | | | also need to be convereted for old tapes for records of type TAPE.
* Sync usage and man page with reality. There's no '-c' command lineimp2005-03-182-19/+10
| | | | | flag today. Maybe we should still retain it, but I'll let others fight that windmill.
* Expand *n't contractions.ru2005-02-131-1/+1
|
* Sync program's usage() with manpage's SYNOPSIS.ru2005-02-101-4/+4
|
* Sort sections.ru2005-01-181-23/+23
|
* Mechanically kill hard sentence breaks.ru2004-07-021-4/+8
|
* Use the correct types for the functions rst_opendir(), glob_readdir() andstefanf2004-05-243-9/+11
| | | | | | | rst_closedir() which are called by glob(). Reviewed by: md5 Approved by: das (mentor)
* Include <timeconv.h> for time conversion functions.stefanf2004-05-241-0/+1
| | | | Approved by: das (mentor)
* Assorted markup, grammar, and spelling fixes.ru2004-05-171-1/+1
|
* Add -P arguments for dump(8) and restore(8) which allow the user togreen2004-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
* Remove advertising clause from University of California Regent's license,markm2004-04-0910-40/+0
| | | | | | per letter dated July 22, 1999. Approved by: core, imp
* style.Makefile(5):johan2004-02-231-1/+1
| | | | Use WARNS?= instead of WARNS=.
* Fix gcc warnings. If NAME_MAX is 255, and d_namlen is a uint8_t, thenpeter2003-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.
* Localize 'ls' outputache2003-08-062-4/+8
| | | | Don't set 8bit in quote processing
* Add section number to .Xrcharnier2003-06-081-1/+1
|
OpenPOWER on IntegriCloud