NFS: check for nfs_refresh_inode() errors in nfs_fhget()
authorNeilBrown <neilb@suse.com>
Mon, 3 Jul 2017 05:27:26 +0000 (15:27 +1000)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Thu, 13 Jul 2017 20:00:09 +0000 (16:00 -0400)
commit26fde4dfcbdcbbac394bb35de0c0f842de6972b5
tree8e744314f14044538f8d65edc0c7bcd2a9750c3d
parenteaa2b82c3b3c938ab4635f8967d33f3e581da836
NFS: check for nfs_refresh_inode() errors in nfs_fhget()

If an NFS server returns a filehandle that we have previously
seen, and reports a different type, then nfs_refresh_inode()
will log a warning and return an error.

nfs_fhget() does not check for this error and may return an
inode with a different type than the one that the server
reported.

This is likely to cause confusion, and is one way that
->open_context() could return a directory inode as discussed
in the previous patch.

So if nfs_refresh_inode() returns and error, return that error
from nfs_fhget() to avoid the confusion propagating.

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
fs/nfs/inode.c