xfs_iomap.c (2815a16d7ff6230a8e37928829d221bb075aa160) xfs_iomap.c (a71895c5dad1ab8cf30622e208d148298ab602e5)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (c) 2000-2006 Silicon Graphics, Inc.
4 * Copyright (c) 2016-2018 Christoph Hellwig.
5 * All Rights Reserved.
6 */
7#include "xfs.h"
8#include "xfs_fs.h"

--- 842 unchanged lines hidden (view full) ---

851 if (xfs_get_extsz_hint(ip))
852 return xfs_direct_write_iomap_begin(inode, offset, count,
853 flags, iomap, srcmap);
854
855 ASSERT(!XFS_IS_REALTIME_INODE(ip));
856
857 xfs_ilock(ip, XFS_ILOCK_EXCL);
858
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (c) 2000-2006 Silicon Graphics, Inc.
4 * Copyright (c) 2016-2018 Christoph Hellwig.
5 * All Rights Reserved.
6 */
7#include "xfs.h"
8#include "xfs_fs.h"

--- 842 unchanged lines hidden (view full) ---

851 if (xfs_get_extsz_hint(ip))
852 return xfs_direct_write_iomap_begin(inode, offset, count,
853 flags, iomap, srcmap);
854
855 ASSERT(!XFS_IS_REALTIME_INODE(ip));
856
857 xfs_ilock(ip, XFS_ILOCK_EXCL);
858
859 if (unlikely(XFS_TEST_ERROR(
860 !xfs_ifork_has_extents(ip, XFS_DATA_FORK),
861 mp, XFS_ERRTAG_BMAPIFORMAT))) {
862 XFS_ERROR_REPORT(__func__, XFS_ERRLEVEL_LOW, mp);
859 if (XFS_IS_CORRUPT(mp, !xfs_ifork_has_extents(ip, XFS_DATA_FORK)) ||
860 XFS_TEST_ERROR(false, mp, XFS_ERRTAG_BMAPIFORMAT)) {
863 error = -EFSCORRUPTED;
864 goto out_unlock;
865 }
866
867 XFS_STATS_INC(mp, xs_blk_mapw);
868
869 if (!(ip->i_df.if_flags & XFS_IFEXTENTS)) {
870 error = xfs_iread_extents(NULL, ip, XFS_DATA_FORK);

--- 412 unchanged lines hidden ---
861 error = -EFSCORRUPTED;
862 goto out_unlock;
863 }
864
865 XFS_STATS_INC(mp, xs_blk_mapw);
866
867 if (!(ip->i_df.if_flags & XFS_IFEXTENTS)) {
868 error = xfs_iread_extents(NULL, ip, XFS_DATA_FORK);

--- 412 unchanged lines hidden ---