nfsd: give up callbacks on revoked delegations
The delegation is no longer returnable, so I don't think there's much point retrying the recall. (I think it's worth asking why we even need separate CLOSED_DELEG and REVOKED_DELEG states. But treating them the same would currently cause nfsd4_free_stateid to call list_del_init(&dp->dl_recall_lru) on a delegation that the laundromat had unhashed but not revoked, incorrectly removing it from the laundromat's reaplist or a client's dl_recall_lru.) Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
Родитель
e56dc9e294
Коммит
12ed22f3c3
|
@ -4513,7 +4513,8 @@ static int nfsd4_cb_recall_done(struct nfsd4_callback *cb,
|
|||
{
|
||||
struct nfs4_delegation *dp = cb_to_delegation(cb);
|
||||
|
||||
if (dp->dl_stid.sc_type == NFS4_CLOSED_DELEG_STID)
|
||||
if (dp->dl_stid.sc_type == NFS4_CLOSED_DELEG_STID ||
|
||||
dp->dl_stid.sc_type == NFS4_REVOKED_DELEG_STID)
|
||||
return 1;
|
||||
|
||||
switch (task->tk_status) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче