Browse Source

Btrfs: dev-replace: skip prealloc extents when copy nocow pages

It doens't make sense to process prealloc extents as pages will be
filled with zero when reading prealloc extents.

Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
Reviewed-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Liu Bo 7 years ago
parent
commit
ed5d5f37e6
1 changed files with 2 additions and 1 deletions
  1. 2 1
      fs/btrfs/scrub.c

+ 2 - 1
fs/btrfs/scrub.c

@@ -4480,7 +4480,8 @@ static int check_extent_to_block(struct btrfs_inode *inode, u64 start, u64 len,
 	 * move on to the next inode.
 	 * move on to the next inode.
 	 */
 	 */
 	if (em->block_start > logical ||
 	if (em->block_start > logical ||
-	    em->block_start + em->block_len < logical + len) {
+	    em->block_start + em->block_len < logical + len ||
+	    test_bit(EXTENT_FLAG_PREALLOC, &em->flags)) {
 		free_extent_map(em);
 		free_extent_map(em);
 		ret = 1;
 		ret = 1;
 		goto out_unlock;
 		goto out_unlock;