aboutsummaryrefslogtreecommitdiff
path: root/drivers/md/dm-io-tracker.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/md/dm-io-tracker.h')
-rw-r--r--drivers/md/dm-io-tracker.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/md/dm-io-tracker.h b/drivers/md/dm-io-tracker.h
index 1dcf01f9f066..bdcc6273ebf0 100644
--- a/drivers/md/dm-io-tracker.h
+++ b/drivers/md/dm-io-tracker.h
@@ -45,6 +45,18 @@ static inline bool dm_iot_idle_for(struct dm_io_tracker *iot, unsigned long j)
return r;
}
+static inline unsigned long dm_iot_idle_time(struct dm_io_tracker *iot)
+{
+ unsigned long r = 0;
+
+ spin_lock_irq(&iot->lock);
+ if (!iot->in_flight)
+ r = jiffies - iot->idle_time;
+ spin_unlock_irq(&iot->lock);
+
+ return r;
+}
+
static inline void dm_iot_io_begin(struct dm_io_tracker *iot, sector_t len)
{
spin_lock_irq(&iot->lock);