--- xfs-fix.orig/fs/xfs/linux-2.6/xfs_buf.c
+++ xfs-fix/fs/xfs/linux-2.6/xfs_buf.c
@@ -129,15 +129,17 @@ page_region_mask(
int first, final;
first = BTOPR(offset);
- final = BTOPRT(offset + length - 1);
- first = min(first, final);
+ final = BTOPRT(offset + length);
+
+ if (first >= final)
+ return 0UL;
mask = ~0UL;
mask <<= BITS_PER_LONG - (final - first);
mask >>= BITS_PER_LONG - (final);
ASSERT(offset + length <= PAGE_CACHE_SIZE);
- ASSERT((final - first) < BITS_PER_LONG && (final - first) >= 0);
+ ASSERT((final - first) <= BITS_PER_LONG && (final - first) > 0);
return mask;
}
_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs