提交 956c4fee 编写于 作者: B Benny Halevy 提交者: J. Bruce Fields

nfsd4: need to destroy revoked delegations in destroy_client

[use list_splice_init]
Signed-off-by: NBenny Halevy <bhalevy@primarydata.com>
[bfields: no need for recall_lock here]
Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
上级 01a87d91
...@@ -1129,6 +1129,11 @@ destroy_client(struct nfs4_client *clp) ...@@ -1129,6 +1129,11 @@ destroy_client(struct nfs4_client *clp)
dp = list_entry(reaplist.next, struct nfs4_delegation, dl_recall_lru); dp = list_entry(reaplist.next, struct nfs4_delegation, dl_recall_lru);
destroy_delegation(dp); destroy_delegation(dp);
} }
list_splice_init(&clp->cl_revoked, &reaplist);
while (!list_empty(&reaplist)) {
dp = list_entry(reaplist.next, struct nfs4_delegation, dl_recall_lru);
destroy_revoked_delegation(dp);
}
while (!list_empty(&clp->cl_openowners)) { while (!list_empty(&clp->cl_openowners)) {
oo = list_entry(clp->cl_openowners.next, struct nfs4_openowner, oo_perclient); oo = list_entry(clp->cl_openowners.next, struct nfs4_openowner, oo_perclient);
release_openowner(oo); release_openowner(oo);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册