|
@@ -615,6 +615,7 @@ pnfs_destroy_layout(struct nfs_inode *nfsi)
|
|
|
pnfs_get_layout_hdr(lo);
|
|
|
pnfs_layout_clear_fail_bit(lo, NFS_LAYOUT_RO_FAILED);
|
|
|
pnfs_layout_clear_fail_bit(lo, NFS_LAYOUT_RW_FAILED);
|
|
|
+ pnfs_clear_retry_layoutget(lo);
|
|
|
spin_unlock(&nfsi->vfs_inode.i_lock);
|
|
|
pnfs_free_lseg_list(&tmp_list);
|
|
|
pnfs_put_layout_hdr(lo);
|
|
@@ -1066,6 +1067,7 @@ bool pnfs_roc(struct inode *ino)
|
|
|
if (!lo || !test_and_clear_bit(NFS_LAYOUT_ROC, &lo->plh_flags) ||
|
|
|
test_bit(NFS_LAYOUT_BULK_RECALL, &lo->plh_flags))
|
|
|
goto out_nolayout;
|
|
|
+ pnfs_clear_retry_layoutget(lo);
|
|
|
list_for_each_entry_safe(lseg, tmp, &lo->plh_segs, pls_list)
|
|
|
if (test_bit(NFS_LSEG_ROC, &lseg->pls_flags)) {
|
|
|
mark_lseg_invalid(lseg, &tmp_list);
|
|
@@ -1491,6 +1493,7 @@ lookup_again:
|
|
|
arg.length = PAGE_CACHE_ALIGN(arg.length);
|
|
|
|
|
|
lseg = send_layoutget(lo, ctx, &arg, gfp_flags);
|
|
|
+ pnfs_clear_retry_layoutget(lo);
|
|
|
atomic_dec(&lo->plh_outstanding);
|
|
|
out_put_layout_hdr:
|
|
|
if (first) {
|