Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxx> --- Darrick, This patch fixes a problem I am hitting consistenty with xfstest overlay/017 with certain overlay mount options (index=on,nfs_export=off). I see that overlayfs looks up in underlying xfs and gets a chardev or blockdev inode with non initialized i_rdev (these are not whiteout inodes). It takes a certain timing which happens in this test that does lookup immediately after drop caches. The test causes a permanent error in inode cache of xfs that is only fixed after another drop caches or cycle mount. So I am certain there is a problem and that this patch fixes the problem, I'm just not sure this is the right fix and if it is, which is the commit that it "Fixes". Thanks, Amir. fs/xfs/xfs_icache.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/xfs/xfs_icache.c b/fs/xfs/xfs_icache.c index 3861d61fb265..3ce946063ffe 100644 --- a/fs/xfs/xfs_icache.c +++ b/fs/xfs/xfs_icache.c @@ -295,6 +295,7 @@ xfs_reinit_inode( uint32_t generation = inode->i_generation; uint64_t version = inode->i_version; umode_t mode = inode->i_mode; + dev_t dev = inode->i_rdev; error = inode_init_always(mp->m_super, inode); @@ -302,6 +303,7 @@ xfs_reinit_inode( inode->i_generation = generation; inode->i_version = version; inode->i_mode = mode; + inode->i_rdev = dev; return error; } -- 2.7.4