From: Mike Grant Date: Thu, 30 Jul 2015 23:14:58 +0000 (+1000) Subject: xfs_repair: include any realloc'ed buffers in final putbuf X-Git-Tag: v4.2.0-rc1~4^2~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=90dd8310800eed12f82bf622a0daa92162265917;p=thirdparty%2Fxfsprogs-dev.git xfs_repair: include any realloc'ed buffers in final putbuf The realloc code included in commit 95dff16b1 potentially introduces extra buffers to bplist. These should be dealt with at the end of the longform_dir2_entry_check function. This replaces the originally estimated number of entries (freetab->naents) with the actual number finally allocated (num_bps). Signed-off-by: Mike Grant Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner --- diff --git a/repair/phase6.c b/repair/phase6.c index 5817743e1..1f82c3d09 100644 --- a/repair/phase6.c +++ b/repair/phase6.c @@ -2407,14 +2407,14 @@ longform_dir2_entry_check(xfs_mount_t *mp, out_fix: if (!no_modify && (fixit || dotdot_update)) { dir_hash_dup_names(hashtab); - for (i = 0; i < freetab->naents; i++) + for (i = 0; i < num_bps; i++) if (bplist[i]) libxfs_putbuf(bplist[i]); longform_dir2_rebuild(mp, ino, ip, irec, ino_offset, hashtab); *num_illegal = 0; *need_dot = 0; } else { - for (i = 0; i < freetab->naents; i++) + for (i = 0; i < num_bps; i++) if (bplist[i]) libxfs_putbuf(bplist[i]); }