Since we have a good helper entry_end, use it for ordered extent.

Signed-off-by: Liu Bo <[email protected]>
---
v2:
Remove 'ASSERT' that is not true anymore after patch
"Btrfs: fix btrfs_ordered_update_i_size to update disk_i_size properly"

 fs/btrfs/ordered-data.c | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/fs/btrfs/ordered-data.c b/fs/btrfs/ordered-data.c
index 35277c5..aead604 100644
--- a/fs/btrfs/ordered-data.c
+++ b/fs/btrfs/ordered-data.c
@@ -1040,25 +1040,25 @@ int btrfs_ordered_update_i_size(struct inode *inode, 
u64 offset,
                /* We treat this entry as if it doesn't exist */
                if (test_bit(BTRFS_ORDERED_UPDATED_ISIZE, &test->flags))
                        continue;
-               if (test->file_offset + test->len <= disk_i_size)
+
+               if (entry_end(test) <= disk_i_size)
                        break;
                if (test->file_offset >= i_size)
                        break;
-               if (entry_end(test) > disk_i_size) {
-                       /*
-                        * we don't update disk_i_size now, so record this
-                        * undealt i_size. Or we will not know the real
-                        * i_size.
-                        */
-                       if (test->outstanding_isize < offset)
-                               test->outstanding_isize = offset;
-                       if (ordered &&
-                           ordered->outstanding_isize >
-                           test->outstanding_isize)
-                               test->outstanding_isize =
-                                               ordered->outstanding_isize;
-                       goto out;
-               }
+
+               /*
+                * we don't update disk_i_size now, so record this
+                * undealt i_size. Or we will not know the real
+                * i_size.
+                */
+               if (test->outstanding_isize < offset)
+                       test->outstanding_isize = offset;
+               if (ordered &&
+                   ordered->outstanding_isize >
+                   test->outstanding_isize)
+                       test->outstanding_isize =
+                                       ordered->outstanding_isize;
+               goto out;
        }
        new_i_size = min_t(u64, offset, i_size);
 
-- 
2.5.5

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to