Commit 8cc98071 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Greg Kroah-Hartman

staging/lustre: use 64-bit times for ptlrpc_sec

Here we use an unsigned long to store the timeout for gc,
which is probably safe until 2106, but this patch converts it
to use ktime_get_real_seconds() and time64_t for consistency.
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarOleg Drokin <green@linuxhacker.ru>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 986ef135
...@@ -833,7 +833,7 @@ struct ptlrpc_sec { ...@@ -833,7 +833,7 @@ struct ptlrpc_sec {
*/ */
struct list_head ps_gc_list; struct list_head ps_gc_list;
unsigned long ps_gc_interval; /* in seconds */ unsigned long ps_gc_interval; /* in seconds */
unsigned long ps_gc_next; /* in seconds */ time64_t ps_gc_next; /* in seconds */
}; };
static inline int sec_is_reverse(struct ptlrpc_sec *sec) static inline int sec_is_reverse(struct ptlrpc_sec *sec)
......
...@@ -69,7 +69,7 @@ void sptlrpc_gc_add_sec(struct ptlrpc_sec *sec) ...@@ -69,7 +69,7 @@ void sptlrpc_gc_add_sec(struct ptlrpc_sec *sec)
LASSERT(sec->ps_gc_interval > 0); LASSERT(sec->ps_gc_interval > 0);
LASSERT(list_empty(&sec->ps_gc_list)); LASSERT(list_empty(&sec->ps_gc_list));
sec->ps_gc_next = get_seconds() + sec->ps_gc_interval; sec->ps_gc_next = ktime_get_real_seconds() + sec->ps_gc_interval;
spin_lock(&sec_gc_list_lock); spin_lock(&sec_gc_list_lock);
list_add_tail(&sec_gc_list, &sec->ps_gc_list); list_add_tail(&sec_gc_list, &sec->ps_gc_list);
...@@ -154,11 +154,11 @@ static void sec_do_gc(struct ptlrpc_sec *sec) ...@@ -154,11 +154,11 @@ static void sec_do_gc(struct ptlrpc_sec *sec)
CDEBUG(D_SEC, "check on sec %p(%s)\n", sec, sec->ps_policy->sp_name); CDEBUG(D_SEC, "check on sec %p(%s)\n", sec, sec->ps_policy->sp_name);
if (cfs_time_after(sec->ps_gc_next, get_seconds())) if (sec->ps_gc_next > ktime_get_real_seconds())
return; return;
sec->ps_policy->sp_cops->gc_ctx(sec); sec->ps_policy->sp_cops->gc_ctx(sec);
sec->ps_gc_next = get_seconds() + sec->ps_gc_interval; sec->ps_gc_next = ktime_get_real_seconds() + sec->ps_gc_interval;
} }
static int sec_gc_main(void *arg) static int sec_gc_main(void *arg)
......
...@@ -98,9 +98,9 @@ static int sptlrpc_info_lprocfs_seq_show(struct seq_file *seq, void *v) ...@@ -98,9 +98,9 @@ static int sptlrpc_info_lprocfs_seq_show(struct seq_file *seq, void *v)
atomic_read(&sec->ps_refcount)); atomic_read(&sec->ps_refcount));
seq_printf(seq, "nctx: %d\n", atomic_read(&sec->ps_nctx)); seq_printf(seq, "nctx: %d\n", atomic_read(&sec->ps_nctx));
seq_printf(seq, "gc internal %ld\n", sec->ps_gc_interval); seq_printf(seq, "gc internal %ld\n", sec->ps_gc_interval);
seq_printf(seq, "gc next %ld\n", seq_printf(seq, "gc next %lld\n",
sec->ps_gc_interval ? sec->ps_gc_interval ?
sec->ps_gc_next - get_seconds() : 0); (s64)(sec->ps_gc_next - ktime_get_real_seconds()) : 0ll);
sptlrpc_sec_put(sec); sptlrpc_sec_put(sec);
out: out:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment