NFSv4.1/pnfs: Ensure we handle delegation errors in nfs4_proc_layoutget()
authorTrond Myklebust <trond.myklebust@primarydata.com>
Fri, 17 Jun 2016 20:48:18 +0000 (16:48 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Fri, 24 Jun 2016 16:01:00 +0000 (12:01 -0400)
nfs4_handle_exception() relies on the caller setting the 'inode' field
in the struct nfs4_exception argument when the error applies to a
delegation.

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Reviewed-by: Jeff Layton <jlayton@poochiereds.net>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
fs/nfs/nfs4proc.c

index de97567795a52c523abfa5936829303a388560e8..27fe63b502d5348986b2b7f1a973076005deb8a1 100644 (file)
@@ -8036,7 +8036,10 @@ nfs4_proc_layoutget(struct nfs4_layoutget *lgp, long *timeout, gfp_t gfp_flags)
                .flags = RPC_TASK_ASYNC,
        };
        struct pnfs_layout_segment *lseg = NULL;
-       struct nfs4_exception exception = { .timeout = *timeout };
+       struct nfs4_exception exception = {
+               .inode = inode,
+               .timeout = *timeout,
+       };
        int status = 0;
 
        dprintk("--> %s\n", __func__);