diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 7b3b235cf2144b4df053f621ca45862c53a5e8c0..78f6cd1de33aca95a555ca19961f3da39fb6f3d7 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -4414,7 +4414,7 @@ int btrfs_shrink_device(struct btrfs_device *device, u64 new_size)
 	if (!path)
 		return -ENOMEM;
 
-	path->reada = READA_FORWARD;
+	path->reada = READA_BACK;
 
 	mutex_lock(&fs_info->chunk_mutex);