mirror of https://gitee.com/openkylin/linux.git
xfs: fix up asserts in xfs_iflush_fork
Remove asserts in xfs_iflush_fork that would call xfs_iext_get_ext with a potentially invalid extent buffer index. Based on an earlier patch from Lachlan McIlroy. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Lachlan McIlroy <lmcilroy@redhat.com> Signed-off-by: Alex Elder <aelder@sgi.com>
This commit is contained in:
parent
f1c63b73cf
commit
ab1908a5bb
|
@ -2557,12 +2557,9 @@ xfs_iflush_fork(
|
|||
case XFS_DINODE_FMT_EXTENTS:
|
||||
ASSERT((ifp->if_flags & XFS_IFEXTENTS) ||
|
||||
!(iip->ili_format.ilf_fields & extflag[whichfork]));
|
||||
ASSERT((xfs_iext_get_ext(ifp, 0) != NULL) ||
|
||||
(ifp->if_bytes == 0));
|
||||
ASSERT((xfs_iext_get_ext(ifp, 0) == NULL) ||
|
||||
(ifp->if_bytes > 0));
|
||||
if ((iip->ili_format.ilf_fields & extflag[whichfork]) &&
|
||||
(ifp->if_bytes > 0)) {
|
||||
ASSERT(xfs_iext_get_ext(ifp, 0));
|
||||
ASSERT(XFS_IFORK_NEXTENTS(ip, whichfork) > 0);
|
||||
(void)xfs_iextents_copy(ip, (xfs_bmbt_rec_t *)cp,
|
||||
whichfork);
|
||||
|
|
Loading…
Reference in New Issue