diff options
| -rw-r--r-- | fs/nfsd/nfs4state.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 0e7e174de209..bc2fc9f076fc 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c | |||
| @@ -3230,6 +3230,8 @@ nfs4_laundromat(struct nfsd_net *nn) | |||
| 3230 | spin_lock(&recall_lock); | 3230 | spin_lock(&recall_lock); |
| 3231 | list_for_each_safe(pos, next, &del_recall_lru) { | 3231 | list_for_each_safe(pos, next, &del_recall_lru) { |
| 3232 | dp = list_entry (pos, struct nfs4_delegation, dl_recall_lru); | 3232 | dp = list_entry (pos, struct nfs4_delegation, dl_recall_lru); |
| 3233 | if (net_generic(dp->dl_stid.sc_client->net, nfsd_net_id) != nn) | ||
| 3234 | continue; | ||
| 3233 | if (time_after((unsigned long)dp->dl_time, (unsigned long)cutoff)) { | 3235 | if (time_after((unsigned long)dp->dl_time, (unsigned long)cutoff)) { |
| 3234 | u = dp->dl_time - cutoff; | 3236 | u = dp->dl_time - cutoff; |
| 3235 | if (test_val > u) | 3237 | if (test_val > u) |
| @@ -4922,6 +4924,8 @@ __nfs4_state_shutdown(struct net *net) | |||
| 4922 | spin_lock(&recall_lock); | 4924 | spin_lock(&recall_lock); |
| 4923 | list_for_each_safe(pos, next, &del_recall_lru) { | 4925 | list_for_each_safe(pos, next, &del_recall_lru) { |
| 4924 | dp = list_entry (pos, struct nfs4_delegation, dl_recall_lru); | 4926 | dp = list_entry (pos, struct nfs4_delegation, dl_recall_lru); |
| 4927 | if (dp->dl_stid.sc_client->net != net) | ||
| 4928 | continue; | ||
| 4925 | list_move(&dp->dl_recall_lru, &reaplist); | 4929 | list_move(&dp->dl_recall_lru, &reaplist); |
| 4926 | } | 4930 | } |
| 4927 | spin_unlock(&recall_lock); | 4931 | spin_unlock(&recall_lock); |
