diff options
Diffstat (limited to 'fs/xfs/libxfs/xfs_inode_buf.c')
| -rw-r--r-- | fs/xfs/libxfs/xfs_inode_buf.c | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/xfs/libxfs/xfs_inode_buf.c b/fs/xfs/libxfs/xfs_inode_buf.c index d0dcce462bf4..d79002343d0b 100644 --- a/fs/xfs/libxfs/xfs_inode_buf.c +++ b/fs/xfs/libxfs/xfs_inode_buf.c @@ -491,6 +491,14 @@ xfs_dinode_verify(  			return __this_address;  	} +	if (dip->di_version > 1) { +		if (dip->di_onlink) +			return __this_address; +	} else { +		if (dip->di_nlink) +			return __this_address; +	} +  	/* don't allow invalid i_size */  	di_size = be64_to_cpu(dip->di_size);  	if (di_size & (1ULL << 63))  |