diff options
| author | Dave Airlie <airlied@redhat.com> | 2020-03-11 07:27:21 +1000 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2020-03-11 07:27:21 +1000 |
| commit | d3bd37f587b4438d47751d0f1d5aaae3d39bd416 (patch) | |
| tree | 9414a8fd1ca74c47fe1a3966e0a22469ac0b73a3 /fs/btrfs/ordered-data.c | |
| parent | Merge tag 'drm-misc-next-2020-02-27' of git://anongit.freedesktop.org/drm/drm... (diff) | |
| parent | Linux 5.6-rc5 (diff) | |
| download | linux-d3bd37f587b4438d47751d0f1d5aaae3d39bd416.tar.gz linux-d3bd37f587b4438d47751d0f1d5aaae3d39bd416.zip | |
Merge v5.6-rc5 into drm-next
Requested my mripard for some misc patches that need this as a base.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'fs/btrfs/ordered-data.c')
| -rw-r--r-- | fs/btrfs/ordered-data.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/btrfs/ordered-data.c b/fs/btrfs/ordered-data.c index ecb9fb6a6fe0..a65f189a5b94 100644 --- a/fs/btrfs/ordered-data.c +++ b/fs/btrfs/ordered-data.c @@ -679,10 +679,15 @@ int btrfs_wait_ordered_range(struct inode *inode, u64 start, u64 len) } btrfs_start_ordered_extent(inode, ordered, 1); end = ordered->file_offset; + /* + * If the ordered extent had an error save the error but don't + * exit without waiting first for all other ordered extents in + * the range to complete. + */ if (test_bit(BTRFS_ORDERED_IOERR, &ordered->flags)) ret = -EIO; btrfs_put_ordered_extent(ordered); - if (ret || end == 0 || end == start) + if (end == 0 || end == start) break; end--; } |
