staging/lustre: use 64-bit times for ksnd_connd
The connection starting/failing time stamps will overflow in 2038 on 32-bit machines, so we need to use time64_t and ktime_get_real_seconds() instead. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Oleg Drokin <green@linuxhacker.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
05406826aa
commit
74ad578f19
|
@ -2426,7 +2426,7 @@ ksocknal_base_startup(void)
|
|||
|
||||
ksocknal_data.ksnd_connd_starting = 0;
|
||||
ksocknal_data.ksnd_connd_failed_stamp = 0;
|
||||
ksocknal_data.ksnd_connd_starting_stamp = get_seconds();
|
||||
ksocknal_data.ksnd_connd_starting_stamp = ktime_get_real_seconds();
|
||||
/* must have at least 2 connds to remain responsive to accepts while
|
||||
* connecting */
|
||||
if (*ksocknal_tunables.ksnd_nconnds < SOCKNAL_CONND_RESV + 1)
|
||||
|
|
|
@ -216,13 +216,13 @@ typedef struct {
|
|||
wait_queue_head_t ksnd_connd_waitq; /* connds sleep here */
|
||||
int ksnd_connd_connecting; /* # connds connecting
|
||||
*/
|
||||
long ksnd_connd_failed_stamp;/* time stamp of the
|
||||
time64_t ksnd_connd_failed_stamp;/* time stamp of the
|
||||
* last failed
|
||||
* connecting attempt */
|
||||
unsigned ksnd_connd_starting; /* # starting connd */
|
||||
long ksnd_connd_starting_stamp;/* time stamp of the
|
||||
time64_t ksnd_connd_starting_stamp;/* time stamp of the
|
||||
* last starting connd
|
||||
*/
|
||||
unsigned ksnd_connd_starting; /* # starting connd */
|
||||
unsigned ksnd_connd_running; /* # running connd */
|
||||
spinlock_t ksnd_connd_lock; /* serialise */
|
||||
|
||||
|
|
|
@ -1998,7 +1998,7 @@ ksocknal_connect (ksock_route_t *route)
|
|||
* running out of resource.
|
||||
*/
|
||||
static int
|
||||
ksocknal_connd_check_start(long sec, long *timeout)
|
||||
ksocknal_connd_check_start(time64_t sec, long *timeout)
|
||||
{
|
||||
char name[16];
|
||||
int rc;
|
||||
|
@ -2048,7 +2048,7 @@ ksocknal_connd_check_start(long sec, long *timeout)
|
|||
/* we tried ... */
|
||||
LASSERT(ksocknal_data.ksnd_connd_starting > 0);
|
||||
ksocknal_data.ksnd_connd_starting--;
|
||||
ksocknal_data.ksnd_connd_failed_stamp = get_seconds();
|
||||
ksocknal_data.ksnd_connd_failed_stamp = ktime_get_real_seconds();
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
@ -2060,7 +2060,7 @@ ksocknal_connd_check_start(long sec, long *timeout)
|
|||
* again to recheck these conditions.
|
||||
*/
|
||||
static int
|
||||
ksocknal_connd_check_stop(long sec, long *timeout)
|
||||
ksocknal_connd_check_stop(time64_t sec, long *timeout)
|
||||
{
|
||||
int val;
|
||||
|
||||
|
@ -2141,7 +2141,7 @@ ksocknal_connd (void *arg)
|
|||
|
||||
while (!ksocknal_data.ksnd_shuttingdown) {
|
||||
ksock_route_t *route = NULL;
|
||||
long sec = get_seconds();
|
||||
time64_t sec = ktime_get_real_seconds();
|
||||
long timeout = MAX_SCHEDULE_TIMEOUT;
|
||||
int dropped_lock = 0;
|
||||
|
||||
|
|
Loading…
Reference in New Issue