xfs_iget can put indoes in the linux inode cache that do not have the file
operations field set in the linux incore inode. This mainly happens on a
XFS_IOC_FSBULKSTAT_SINGLE function.
This means that a linux iget can get a xfs inode with the out file operations
field
set. Fortunately linux makes little use of iget function. But nfsd does after
a server crash.
I think xfs_iget should always make sure that cached linux inode entries should
have the
correct file/inode/... operatoins initialized in the linux inode.
I only stumbled on this do to my work with open_inode_by_handle. It is not
something
that needs to be fixed quickly. It is very unlikely to cause any problem
except with nfsd
and only after the server crashes and some one does a XFS_IOC_FSBULKSTAT_SINGLE
with out doing a open_by_inode_handle immediately after. open_by_inode_handle
will fix
the file operation fields.
Bill Jones
|