nfs: fix error handling in lock_and_join_requests
This fixes handling of errors from nfs_page_group_lock in nfs_lock_and_join_requests. It now releases the inode lock and the reference to the head request. Reported-by: Peng Tao <tao.peng@primarydata.com> Signed-off-by: Weston Andros Adamson <dros@primarydata.com> Reviewed-by: Peng Tao <tao.peng@primarydata.com> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
parent
bfd484a560
commit
94970014c4
|
@ -480,8 +480,11 @@ try_again:
|
||||||
|
|
||||||
/* lock each request in the page group */
|
/* lock each request in the page group */
|
||||||
ret = nfs_page_group_lock(head, true);
|
ret = nfs_page_group_lock(head, true);
|
||||||
if (ret < 0)
|
if (ret < 0) {
|
||||||
|
spin_unlock(&inode->i_lock);
|
||||||
|
nfs_release_request(head);
|
||||||
return ERR_PTR(ret);
|
return ERR_PTR(ret);
|
||||||
|
}
|
||||||
subreq = head;
|
subreq = head;
|
||||||
do {
|
do {
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue