NFSv4: Fix return value in nfs_finish_open()
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Fri, 9 Aug 2019 16:15:07 +0000 (12:15 -0400)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Mon, 19 Aug 2019 12:56:04 +0000 (08:56 -0400)
If the file turns out to be of the wrong type after opening, we want
to revalidate the path and retry, so return EOPENSTALE rather than
ESTALE.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/dir.c

index 8d50109..0adfd88 100644 (file)
@@ -1487,7 +1487,7 @@ static int nfs_finish_open(struct nfs_open_context *ctx,
        if (S_ISREG(file->f_path.dentry->d_inode->i_mode))
                nfs_file_set_open_context(file, ctx);
        else
-               err = -ESTALE;
+               err = -EOPENSTALE;
 out:
        return err;
 }