[PATCH 12/14] xfs_repair: address never-true tests in repair/bmap.c on 64 bit
Mark Tinguely
tinguely at sgi.com
Wed Apr 9 08:55:47 CDT 2014
On 04/08/14 18:25, Eric Sandeen wrote:
> The test "if (new_naexts > BLKMAP_NEXTS_MAX)" is never true
> on a 64-bit platform; new_naexts is an int, and BLKMAP_NEXTS_MAX
> is INT_MAX. So just wrap the whole thing in the #ifdef.
>
> Signed-off-by: Eric Sandeen<sandeen at redhat.com>
> ---
> repair/bmap.c | 8 ++++----
> 1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/repair/bmap.c b/repair/bmap.c
> index 85d66dc..b81efb9 100644
> --- a/repair/bmap.c
> +++ b/repair/bmap.c
> @@ -47,16 +47,16 @@ blkmap_alloc(
> if (nex < 1)
> nex = 1;
>
> +#if (BITS_PER_LONG == 32) /* on 64-bit platformsethis is never true */
platforms this ..,
> if (nex > BLKMAP_NEXTS_MAX) {
> -#if (BITS_PER_LONG == 32)
> do_warn(
> _("Number of extents requested in blkmap_alloc (%d) overflows 32 bits.\n"
> "If this is not a corruption, then you will need a 64 bit system\n"
> "to repair this filesystem.\n"),
> nex);
> -#endif
> return NULL;
> }
> +#endif
Looks good. The other patches look good too.
Reviewed-by: Mark Tinguely <tinguely at sgi.com>
More information about the xfs
mailing list