pNFS: Treat RECALLCONFLICT like DELAY...
authorTrond Myklebust <trondmy@gmail.com>
Thu, 16 Aug 2018 01:35:45 +0000 (21:35 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Thu, 16 Aug 2018 17:47:09 +0000 (13:47 -0400)
Yes, it is possible to get trapped in a loop, but the server should be
administratively revoking the recalled layout if it never gets returned.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
fs/nfs/pnfs.c

index cf9912a..e11e666 100644 (file)
@@ -1982,15 +1982,6 @@ lookup_again:
                                lseg = NULL;
                        break;
                case -ERECALLCONFLICT:
-                       /* Huh? We hold no layouts, how is there a recall? */
-                       if (first) {
-                               lseg = NULL;
-                               break;
-                       }
-                       /* Destroy the existing layout and start over */
-                       if (time_after(jiffies, giveup))
-                               pnfs_destroy_layout(NFS_I(ino));
-                       /* Fallthrough */
                case -EAGAIN:
                        break;
                default: