Re: [PATCH 12/14] xfs_repair: address never-true tests in repair/bmap.c on 64 bit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
---
  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@xxxxxxx>

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs




[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux