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.
This commit is contained in:
parent
b9c7cba522
commit
37d6a8f458
7
UPDATING
7
UPDATING
@ -32,13 +32,6 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW:
|
|||||||
"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
|
"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:
|
20180530:
|
||||||
The kernel / userland interface for devinfo changed, so you'll
|
The kernel / userland interface for devinfo changed, so you'll
|
||||||
need a new kernel and userland as a pair for it to work (rebuilding
|
need a new kernel and userland as a pair for it to work (rebuilding
|
||||||
|
@ -566,8 +566,3 @@ This will be fixed in a later version of
|
|||||||
.Fx .
|
.Fx .
|
||||||
Presently, it works if you set it setuid (like it used to be), but this
|
Presently, it works if you set it setuid (like it used to be), but this
|
||||||
might constitute a security risk.
|
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.
|
|
||||||
|
@ -100,7 +100,7 @@ main(int argc, char *argv[])
|
|||||||
struct fstab *dt;
|
struct fstab *dt;
|
||||||
char *map, *mntpt;
|
char *map, *mntpt;
|
||||||
int ch, mode, mntflags;
|
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;
|
int just_estimate = 0;
|
||||||
ino_t maxino;
|
ino_t maxino;
|
||||||
char *tmsg;
|
char *tmsg;
|
||||||
@ -452,9 +452,6 @@ main(int argc, char *argv[])
|
|||||||
quit("TP_BSIZE (%d) is not a power of 2", TP_BSIZE);
|
quit("TP_BSIZE (%d) is not a power of 2", TP_BSIZE);
|
||||||
maxino = sblock->fs_ipg * sblock->fs_ncg;
|
maxino = sblock->fs_ipg * sblock->fs_ncg;
|
||||||
mapsize = roundup(howmany(maxino, CHAR_BIT), TP_BSIZE);
|
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));
|
usedinomap = (char *)calloc((unsigned) mapsize, sizeof(char));
|
||||||
dumpdirmap = (char *)calloc((unsigned) mapsize, sizeof(char));
|
dumpdirmap = (char *)calloc((unsigned) mapsize, sizeof(char));
|
||||||
dumpinomap = (char *)calloc((unsigned) mapsize, sizeof(char));
|
dumpinomap = (char *)calloc((unsigned) mapsize, sizeof(char));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user