struct reiserfs_journal_desc *desc;
        unsigned int oldest_trans_id = 0;
        unsigned int oldest_invalid_trans_id = 0;
-       time_t start;
+       time64_t start;
        unsigned long oldest_start = 0;
        unsigned long cur_dblock = 0;
        unsigned long newest_mount_id = 9;
        cur_dblock = SB_ONDISK_JOURNAL_1st_BLOCK(sb);
        reiserfs_info(sb, "checking transaction log (%pg)\n",
                      journal->j_dev_bd);
-       start = get_seconds();
+       start = ktime_get_seconds();
 
        /*
         * step 1, read in the journal header block.  Check the transaction
        if (replay_count > 0) {
                reiserfs_info(sb,
                              "replayed %d transactions in %lu seconds\n",
-                             replay_count, get_seconds() - start);
+                             replay_count, ktime_get_seconds() - start);
        }
        /* needed to satisfy the locking in _update_journal_header_block */
        reiserfs_write_lock(sb);
                                   int new_alloc)
 {
        struct reiserfs_journal *journal = SB_JOURNAL(th->t_super);
-       time_t now = get_seconds();
+       time64_t now = ktime_get_seconds();
        /* cannot restart while nested */
        BUG_ON(!th->t_trans_id);
        if (th->t_refcount > 1)
                              struct super_block *sb, unsigned long nblocks,
                              int join)
 {
-       time_t now = get_seconds();
+       time64_t now = ktime_get_seconds();
        unsigned int old_trans_id;
        struct reiserfs_journal *journal = SB_JOURNAL(sb);
        struct reiserfs_transaction_handle myth;
                PROC_INFO_INC(sb, journal.journal_relock_writers);
                goto relock;
        }
-       now = get_seconds();
+       now = ktime_get_seconds();
 
        /*
         * if there is no room in the journal OR
        }
        /* we are the first writer, set trans_id */
        if (journal->j_trans_start_time == 0) {
-               journal->j_trans_start_time = get_seconds();
+               journal->j_trans_start_time = ktime_get_seconds();
        }
        atomic_inc(&journal->j_wcount);
        journal->j_len_alloc += nblocks;
  */
 void reiserfs_flush_old_commits(struct super_block *sb)
 {
-       time_t now;
+       time64_t now;
        struct reiserfs_transaction_handle th;
        struct reiserfs_journal *journal = SB_JOURNAL(sb);
 
-       now = get_seconds();
+       now = ktime_get_seconds();
        /*
         * safety check so we don't flush while we are replaying the log during
         * mount
 static int check_journal_end(struct reiserfs_transaction_handle *th, int flags)
 {
 
-       time_t now;
+       time64_t now;
        int flush = flags & FLUSH_ALL;
        int commit_now = flags & COMMIT_NOW;
        int wait_on_commit = flags & WAIT;
        }
 
        /* deal with old transactions where we are the last writers */
-       now = get_seconds();
+       now = ktime_get_seconds();
        if ((now - journal->j_trans_start_time) > journal->j_max_trans_age) {
                commit_now = 1;
                journal->j_next_async_flush = 1;
 
        return 0;
 }
 
+static time64_t ktime_mono_to_real_seconds(time64_t mono)
+{
+       ktime_t kt = ktime_set(mono, NSEC_PER_SEC/2);
+
+       return ktime_divns(ktime_mono_to_real(kt), NSEC_PER_SEC);
+}
+
 static int show_journal(struct seq_file *m, void *unused)
 {
        struct super_block *sb = m->private;
                   "j_bcount: \t%lu\n"
                   "j_first_unflushed_offset: \t%lu\n"
                   "j_last_flush_trans_id: \t%u\n"
-                  "j_trans_start_time: \t%li\n"
+                  "j_trans_start_time: \t%lli\n"
                   "j_list_bitmap_index: \t%i\n"
                   "j_must_wait: \t%i\n"
                   "j_next_full_flush: \t%i\n"
                   JF(j_bcount),
                   JF(j_first_unflushed_offset),
                   JF(j_last_flush_trans_id),
-                  JF(j_trans_start_time),
+                  ktime_mono_to_real_seconds(JF(j_trans_start_time)),
                   JF(j_list_bitmap_index),
                   JF(j_must_wait),
                   JF(j_next_full_flush),