aboutsummaryrefslogtreecommitdiffstats
path: root/module/zfs
diff options
context:
space:
mode:
authorChunwei Chen <[email protected]>2014-02-25 17:32:21 +0800
committerBrian Behlendorf <[email protected]>2014-04-14 13:27:56 -0700
commit0b75bdb369df4e0dab96b2778a6421773268df21 (patch)
tree2b8184592909819f2657e96f6090b9410c76be64 /module/zfs
parent888f7141a3fcb73e2ec254de7628eee12022c4fc (diff)
Use ddi_time_after and friends to compare time
Also, make sure we use clock_t for ddi_get_lbolt to prevent type conversion from screwing things. Signed-off-by: Chunwei Chen <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #2142
Diffstat (limited to 'module/zfs')
-rw-r--r--module/zfs/arc.c5
-rw-r--r--module/zfs/txg.c4
-rw-r--r--module/zfs/vdev_cache.c4
-rw-r--r--module/zfs/zio_inject.c7
4 files changed, 11 insertions, 9 deletions
diff --git a/module/zfs/arc.c b/module/zfs/arc.c
index 00d26592d..518b82efa 100644
--- a/module/zfs/arc.c
+++ b/module/zfs/arc.c
@@ -2480,7 +2480,8 @@ arc_adapt_thread(void)
#endif /* !_KERNEL */
/* No recent memory pressure allow the ARC to grow. */
- if (arc_no_grow && ddi_get_lbolt() >= arc_grow_time)
+ if (arc_no_grow &&
+ ddi_time_after_eq(ddi_get_lbolt(), arc_grow_time))
arc_no_grow = FALSE;
arc_adjust_meta();
@@ -2918,7 +2919,7 @@ arc_access(arc_buf_hdr_t *buf, kmutex_t *hash_lock)
* but it is still in the cache. Move it to the MFU
* state.
*/
- if (now > buf->b_arc_access + ARC_MINTIME) {
+ if (ddi_time_after(now, buf->b_arc_access + ARC_MINTIME)) {
/*
* More than 125ms have passed since we
* instantiated this buffer. Move it to the
diff --git a/module/zfs/txg.c b/module/zfs/txg.c
index 524fe8e84..ff25c9c1b 100644
--- a/module/zfs/txg.c
+++ b/module/zfs/txg.c
@@ -480,7 +480,7 @@ txg_sync_thread(dsl_pool_t *dp)
tx_state_t *tx = &dp->dp_tx;
callb_cpr_t cpr;
vdev_stat_t *vs1, *vs2;
- uint64_t start, delta;
+ clock_t start, delta;
#ifdef _KERNEL
/*
@@ -498,7 +498,7 @@ txg_sync_thread(dsl_pool_t *dp)
start = delta = 0;
for (;;) {
- uint64_t timer, timeout;
+ clock_t timer, timeout;
uint64_t txg;
uint64_t ndirty;
diff --git a/module/zfs/vdev_cache.c b/module/zfs/vdev_cache.c
index ffd50ec2f..d1ee9afd9 100644
--- a/module/zfs/vdev_cache.c
+++ b/module/zfs/vdev_cache.c
@@ -123,9 +123,9 @@ vdev_cache_lastused_compare(const void *a1, const void *a2)
const vdev_cache_entry_t *ve1 = a1;
const vdev_cache_entry_t *ve2 = a2;
- if (ve1->ve_lastused < ve2->ve_lastused)
+ if (ddi_time_before(ve1->ve_lastused, ve2->ve_lastused))
return (-1);
- if (ve1->ve_lastused > ve2->ve_lastused)
+ if (ddi_time_after(ve1->ve_lastused, ve2->ve_lastused))
return (1);
/*
diff --git a/module/zfs/zio_inject.c b/module/zfs/zio_inject.c
index 39ec590b5..13d188731 100644
--- a/module/zfs/zio_inject.c
+++ b/module/zfs/zio_inject.c
@@ -345,9 +345,10 @@ spa_handle_ignored_writes(spa_t *spa)
if (handler->zi_record.zi_duration > 0) {
VERIFY(handler->zi_record.zi_timer == 0 ||
- handler->zi_record.zi_timer +
- handler->zi_record.zi_duration * hz >
- ddi_get_lbolt64());
+ ddi_time_after64(
+ (int64_t)handler->zi_record.zi_timer +
+ handler->zi_record.zi_duration * hz,
+ ddi_get_lbolt64()));
} else {
/* duration is negative so the subtraction here adds */
VERIFY(handler->zi_record.zi_timer == 0 ||