On Thursday 24 September 2015 03:55:20 Drokin, Oleg wrote:
On Sep 23, 2015, at 3:13 PM, Arnd Bergmann wrote:
The last request time is stored as an 'unsigned long', which is good enough until 2106, but it is then converted to 'long' in some places, which overflows in 2038.
This changes the type to time64_t to avoid those problems.
Hm… All this code is actually only making sense on server and is unused otherwise, so it's probably best to drop ping_evictor_start, ping_evictor_main, exp_expired, class_disconnect_export_list (and two places where it's called from) functions and exp_last_request_time field. And with ping evictor gone, we should also drop ptlrpc_update_export_timer.
While clients do retain the request handling code (to process server-originated requests like lock callbacks), they are not going to evict the servers because the server have not talked to us in a while or anything of the sort.
I tried doing this, but could not figure out how to get rid of class_disconnect_exports().
However, I started removing dead code and ended up with a huge patch that would not make it to mailing list servers and that I therefor pasted on http://pastebin.com/uncZQNh7 for reference.
Arnd