goto err;
        }
 
-       sb->last_mount = get_seconds();
+       sb->last_mount = (u32)ktime_get_real_seconds();
        err = NULL;
 
        get_page(bh->b_page);
 
                SET_UUID_FLASH_ONLY(u, 0);
                memcpy(u->uuid, invalid_uuid, 16);
-               u->invalidated = cpu_to_le32(get_seconds());
+               u->invalidated = cpu_to_le32((u32)ktime_get_real_seconds());
                bch_uuid_write(d->c);
        }
 
 int bch_cached_dev_attach(struct cached_dev *dc, struct cache_set *c,
                          uint8_t *set_uuid)
 {
-       uint32_t rtime = cpu_to_le32(get_seconds());
+       uint32_t rtime = cpu_to_le32((u32)ktime_get_real_seconds());
        struct uuid_entry *u;
        struct cached_dev *exist_dc, *t;
 
            (BDEV_STATE(&dc->sb) == BDEV_STATE_STALE ||
             BDEV_STATE(&dc->sb) == BDEV_STATE_NONE)) {
                memcpy(u->uuid, invalid_uuid, 16);
-               u->invalidated = cpu_to_le32(get_seconds());
+               u->invalidated = cpu_to_le32((u32)ktime_get_real_seconds());
                u = NULL;
        }
 
 
        get_random_bytes(u->uuid, 16);
        memset(u->label, 0, 32);
-       u->first_reg = u->last_reg = cpu_to_le32(get_seconds());
+       u->first_reg = u->last_reg = cpu_to_le32((u32)ktime_get_real_seconds());
 
        SET_UUID_FLASH_ONLY(u, 1);
        u->sectors = size >> 9;
                goto err;
 
        closure_sync(&cl);
-       c->sb.last_mount = get_seconds();
+       c->sb.last_mount = (u32)ktime_get_real_seconds();
        bcache_write_super(c);
 
        list_for_each_entry_safe(dc, t, &uncached_devices, list)