diff options
author | mav <mav@FreeBSD.org> | 2015-08-12 08:36:58 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2015-08-12 08:36:58 +0000 |
commit | 716a59528454fbb4f9888c9747ff9569d189bc9d (patch) | |
tree | 255aa149ff130eb157e871b9f73e3c70654001c3 | |
parent | 2c00348ef69de83c44900bf4d038b159649986eb (diff) | |
download | FreeBSD-src-716a59528454fbb4f9888c9747ff9569d189bc9d.zip FreeBSD-src-716a59528454fbb4f9888c9747ff9569d189bc9d.tar.gz |
Fix set of sign extension bugs in r286625.
-rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c index 76ab214..6de36f2 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c @@ -3145,7 +3145,7 @@ arc_available_memory(void) * Cooperate with pagedaemon when it's time for it to scan * and reclaim some pages. */ - n = PAGESIZE * (int64_t)(freemem - zfs_arc_free_target); + n = PAGESIZE * ((int64_t)freemem - zfs_arc_free_target); if (n < lowest) { lowest = n; r = FMR_LOTSFREE; @@ -3207,7 +3207,7 @@ arc_available_memory(void) * heap is allocated. (Or, in the calculation, if less than 1/4th is * free) */ - n = vmem_size(heap_arena, VMEM_FREE) - + n = (int64_t)vmem_size(heap_arena, VMEM_FREE) - (vmem_size(heap_arena, VMEM_FREE | VMEM_ALLOC) >> 2); if (n < lowest) { lowest = n; @@ -3228,7 +3228,7 @@ arc_available_memory(void) * memory fragmentation issues. */ if (zio_arena != NULL) { - n = vmem_size(zio_arena, VMEM_FREE) - + n = (int64_t)vmem_size(zio_arena, VMEM_FREE) - (vmem_size(zio_arena, VMEM_ALLOC) >> 4); if (n < lowest) { lowest = n; @@ -3242,7 +3242,8 @@ arc_available_memory(void) */ if (lowest > 0) { n = (vmem_size(heap_arena, VMEM_MAXFREE) < zfs_max_recordsize) ? - -(vmem_size(heap_arena, VMEM_ALLOC) >> 4) : INT64_MAX; + -((int64_t)vmem_size(heap_arena, VMEM_ALLOC) >> 4) : + INT64_MAX; if (n < lowest) { lowest = n; r = FMR_ZIO_FRAG; |