Thread (3 messages) 3 messages, 3 authors, 2015-12-22

Re: [PATCH 2/2] md: Replace get_seconds with ktime_get_seconds

From: Deepa Dinamani <hidden>
Date: 2015-12-22 22:51:35

 It should be real seconds.
You cannot use monotonic clock here since these are actual clock time timestamps. Monotonic time  starts from 0 on every boot.

-Deepa
On Dec 23, 2015, at 4:06 AM, NeilBrown [off-list ref] wrote:
quoted
On Wed, Dec 23 2015, Shraddha Barke wrote:

32-bit systems using function get_seconds will break in year 2038,
in order to avoid that replace the code with more appropriate function
ktime_get_seconds which is y2038 safe. Function ktime_get_seconds use
monotonic instead of real time and therefore will not cause overflow

Signed-off-by: Shraddha Barke <redacted>
---
drivers/md/md.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 807095f..8dd74bb 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -2333,7 +2333,7 @@ repeat:

   spin_lock(&mddev->lock);

-    mddev->utime = get_seconds();
+    mddev->utime = ktime_get_seconds();

   if (test_and_clear_bit(MD_CHANGE_DEVS, &mddev->flags))
       force_change = 1;
@@ -6347,13 +6347,13 @@ static int set_array_info(struct mddev *mddev, mdu_array_info_t *info)
       /* ensure mddev_put doesn't delete this now that there
        * is some minimal configuration.
        */
-        mddev->ctime         = get_seconds();
+        mddev->ctime         = ktime_get_seconds();
       return 0;
   }
   mddev->major_version = MD_MAJOR_VERSION;
   mddev->minor_version = MD_MINOR_VERSION;
   mddev->patch_version = MD_PATCHLEVEL_VERSION;
-    mddev->ctime         = get_seconds();
+    mddev->ctime         = ktime_get_seconds();

   mddev->level         = info->level;
   mddev->clevel[0]     = 0;
-- 
2.1.4
Thanks for splitting this off.
However I tried to apply it and it doesn't apply.

I already have a patch (in linux-next) from
 Deepa Dinamani [off-list ref]
which uses ktime_get_real_seconds().

http://git.neil.brown.name/?p=md.git;a=commitdiff;h=195e0e2726a7f93295b28ebf277876d5a7c6cf2d

Which should it be?  ktime_get_seconds or ktime_get_real_seconds?

Thanks,
NeilBrown
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help