• Arnd Bergmann's avatar
    nfsd: fix jiffies/time_t mixup in LRU list · 9594497f
    Arnd Bergmann authored
    The nfsd4_blocked_lock->nbl_time timestamp is recorded in jiffies,
    but then compared to a CLOCK_REALTIME timestamp later on, which makes
    no sense.
    
    For consistency with the other timestamps, change this to use a time_t.
    
    This is a change in behavior, which may cause regressions, but the
    current code is not sensible. On a system with CONFIG_HZ=1000,
    the 'time_after((unsigned long)nbl->nbl_time, (unsigned long)cutoff))'
    check is false for roughly the first 18 days of uptime and then true
    for the next 49 days.
    
    Fixes: 7919d0a2 ("nfsd: add a LRU list for blocked locks")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
    9594497f
nfs4state.c 205 KB