svn commit: r334980 - in head: . sbin/dump
Warner Losh
imp at FreeBSD.org
Mon Jun 11 20:38:34 UTC 2018
Author: imp
Date: Mon Jun 11 20:38:30 2018
New Revision: 334980
URL: https://svnweb.freebsd.org/changeset/base/334980
Log:
Revert size limits.
The size limits came from a flawed understanding of dump records.
The real issue was that dump was bogusly interpreting c_count
sometimes. r334978 fixes that.
Modified:
head/UPDATING
head/sbin/dump/dump.8
head/sbin/dump/main.c
Modified: head/UPDATING
==============================================================================
--- head/UPDATING Mon Jun 11 20:38:26 2018 (r334979)
+++ head/UPDATING Mon Jun 11 20:38:30 2018 (r334980)
@@ -32,13 +32,6 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW:
"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
-20180611:
- A bug in dump has been found where it can incorrectly dump filesystems
- with more than 512k inodes and produce corrupted dump images. r334968
- closes the door by not dumping filesystems with more than 512k inodes.
- While older dumps may 'work' the image they produce may or may not be
- readable depending on many factors.
-
20180530:
The kernel / userland interface for devinfo changed, so you'll
need a new kernel and userland as a pair for it to work (rebuilding
Modified: head/sbin/dump/dump.8
==============================================================================
--- head/sbin/dump/dump.8 Mon Jun 11 20:38:26 2018 (r334979)
+++ head/sbin/dump/dump.8 Mon Jun 11 20:38:30 2018 (r334980)
@@ -566,8 +566,3 @@ This will be fixed in a later version of
.Fx .
Presently, it works if you set it setuid (like it used to be), but this
might constitute a security risk.
-.Pp
-It is not possible to safely dump filesystems that use more than
-524288 inodes.
-.Nm
-refuses to dump any filesystem that has more than 524288 inodes.
Modified: head/sbin/dump/main.c
==============================================================================
--- head/sbin/dump/main.c Mon Jun 11 20:38:26 2018 (r334979)
+++ head/sbin/dump/main.c Mon Jun 11 20:38:30 2018 (r334980)
@@ -100,7 +100,7 @@ main(int argc, char *argv[])
struct fstab *dt;
char *map, *mntpt;
int ch, mode, mntflags;
- int i, ret, anydirskipped, c_count, bflag = 0, Tflag = 0, honorlevel = 1;
+ int i, ret, anydirskipped, bflag = 0, Tflag = 0, honorlevel = 1;
int just_estimate = 0;
ino_t maxino;
char *tmsg;
@@ -452,9 +452,6 @@ main(int argc, char *argv[])
quit("TP_BSIZE (%d) is not a power of 2", TP_BSIZE);
maxino = sblock->fs_ipg * sblock->fs_ncg;
mapsize = roundup(howmany(maxino, CHAR_BIT), TP_BSIZE);
- c_count = howmany(mapsize * sizeof(char), TP_BSIZE);
- if (c_count > TP_NINDIR)
- quit("fs is too large for dump!");
usedinomap = (char *)calloc((unsigned) mapsize, sizeof(char));
dumpdirmap = (char *)calloc((unsigned) mapsize, sizeof(char));
dumpinomap = (char *)calloc((unsigned) mapsize, sizeof(char));
More information about the svn-src-head
mailing list