]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs_metadump: Zap unused space in inode btrees
authorStefan Ring <stefanrin@gmail.com>
Fri, 11 Jan 2019 22:57:51 +0000 (16:57 -0600)
committerEric Sandeen <sandeen@redhat.com>
Fri, 11 Jan 2019 22:57:51 +0000 (16:57 -0600)
Signed-off-by: Stefan Ring <stefanrin@gmail.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
db/metadump.c

index b3cace99b648034889f58b67d4e720ad25988f1d..69e2603754f7a93de515da7ef285974681296882 100644 (file)
@@ -2177,6 +2177,19 @@ process_btinode(
        }
 
        pp = XFS_BMDR_PTR_ADDR(dib, 1, maxrecs);
+
+       if (zero_stale_data) {
+               char    *top;
+
+               /* Unused btree key space */
+               top = (char*)XFS_BMDR_KEY_ADDR(dib, nrecs + 1);
+               memset(top, 0, (char*)pp - top);
+
+               /* Unused btree ptr space */
+               top = (char*)&pp[nrecs];
+               memset(top, 0, (char*)dib + XFS_DFORK_SIZE(dip, mp, whichfork) - top);
+       }
+
        for (i = 0; i < nrecs; i++) {
                xfs_agnumber_t  ag;
                xfs_agblock_t   bno;