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));
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to