|
@@ -532,6 +532,7 @@ int ext4_map_blocks(handle_t *handle, struct inode *inode,
|
|
status = map->m_flags & EXT4_MAP_UNWRITTEN ?
|
|
status = map->m_flags & EXT4_MAP_UNWRITTEN ?
|
|
EXTENT_STATUS_UNWRITTEN : EXTENT_STATUS_WRITTEN;
|
|
EXTENT_STATUS_UNWRITTEN : EXTENT_STATUS_WRITTEN;
|
|
if (!(flags & EXT4_GET_BLOCKS_DELALLOC_RESERVE) &&
|
|
if (!(flags & EXT4_GET_BLOCKS_DELALLOC_RESERVE) &&
|
|
|
|
+ !(status & EXTENT_STATUS_WRITTEN) &&
|
|
ext4_find_delalloc_range(inode, map->m_lblk,
|
|
ext4_find_delalloc_range(inode, map->m_lblk,
|
|
map->m_lblk + map->m_len - 1))
|
|
map->m_lblk + map->m_len - 1))
|
|
status |= EXTENT_STATUS_DELAYED;
|
|
status |= EXTENT_STATUS_DELAYED;
|
|
@@ -636,6 +637,7 @@ found:
|
|
status = map->m_flags & EXT4_MAP_UNWRITTEN ?
|
|
status = map->m_flags & EXT4_MAP_UNWRITTEN ?
|
|
EXTENT_STATUS_UNWRITTEN : EXTENT_STATUS_WRITTEN;
|
|
EXTENT_STATUS_UNWRITTEN : EXTENT_STATUS_WRITTEN;
|
|
if (!(flags & EXT4_GET_BLOCKS_DELALLOC_RESERVE) &&
|
|
if (!(flags & EXT4_GET_BLOCKS_DELALLOC_RESERVE) &&
|
|
|
|
+ !(status & EXTENT_STATUS_WRITTEN) &&
|
|
ext4_find_delalloc_range(inode, map->m_lblk,
|
|
ext4_find_delalloc_range(inode, map->m_lblk,
|
|
map->m_lblk + map->m_len - 1))
|
|
map->m_lblk + map->m_len - 1))
|
|
status |= EXTENT_STATUS_DELAYED;
|
|
status |= EXTENT_STATUS_DELAYED;
|