Loading fs/xfs/libxfs/xfs_bmap.c +7 −9 Original line number Diff line number Diff line Loading @@ -5591,35 +5591,33 @@ xfs_bmap_shift_update_extent( xfs_fileoff_t startoff) { struct xfs_mount *mp = ip->i_mount; struct xfs_bmbt_irec new; struct xfs_bmbt_irec prev = *got; int error, i; *logflags |= XFS_ILOG_CORE; new = *got; new.br_startoff = startoff; got->br_startoff = startoff; if (cur) { error = xfs_bmbt_lookup_eq(cur, got, &i); error = xfs_bmbt_lookup_eq(cur, &prev, &i); if (error) return error; XFS_WANT_CORRUPTED_RETURN(mp, i == 1); error = xfs_bmbt_update(cur, &new); error = xfs_bmbt_update(cur, got); if (error) return error; } else { *logflags |= XFS_ILOG_DEXT; } xfs_iext_update_extent(ip, xfs_bmap_fork_to_state(whichfork), idx, &new); xfs_iext_update_extent(ip, xfs_bmap_fork_to_state(whichfork), idx, got); /* update reverse mapping */ error = xfs_rmap_unmap_extent(mp, dfops, ip, whichfork, got); error = xfs_rmap_unmap_extent(mp, dfops, ip, whichfork, &prev); if (error) return error; return xfs_rmap_map_extent(mp, dfops, ip, whichfork, &new); return xfs_rmap_map_extent(mp, dfops, ip, whichfork, got); } int Loading Loading
fs/xfs/libxfs/xfs_bmap.c +7 −9 Original line number Diff line number Diff line Loading @@ -5591,35 +5591,33 @@ xfs_bmap_shift_update_extent( xfs_fileoff_t startoff) { struct xfs_mount *mp = ip->i_mount; struct xfs_bmbt_irec new; struct xfs_bmbt_irec prev = *got; int error, i; *logflags |= XFS_ILOG_CORE; new = *got; new.br_startoff = startoff; got->br_startoff = startoff; if (cur) { error = xfs_bmbt_lookup_eq(cur, got, &i); error = xfs_bmbt_lookup_eq(cur, &prev, &i); if (error) return error; XFS_WANT_CORRUPTED_RETURN(mp, i == 1); error = xfs_bmbt_update(cur, &new); error = xfs_bmbt_update(cur, got); if (error) return error; } else { *logflags |= XFS_ILOG_DEXT; } xfs_iext_update_extent(ip, xfs_bmap_fork_to_state(whichfork), idx, &new); xfs_iext_update_extent(ip, xfs_bmap_fork_to_state(whichfork), idx, got); /* update reverse mapping */ error = xfs_rmap_unmap_extent(mp, dfops, ip, whichfork, got); error = xfs_rmap_unmap_extent(mp, dfops, ip, whichfork, &prev); if (error) return error; return xfs_rmap_map_extent(mp, dfops, ip, whichfork, &new); return xfs_rmap_map_extent(mp, dfops, ip, whichfork, got); } int Loading