Merge tag 'cifs-bug-fixes-for-4.13' of git://git.samba.org/sfrench/cifs-2.6
[linux-2.6-block.git] / fs / btrfs / ordered-data.c
index 7b40e2e7292a41a047b0f8e300304822b7c63e74..a3aca495e33e2c97890551b409afd1ceb40b4f69 100644 (file)
@@ -663,7 +663,7 @@ static void btrfs_run_ordered_extent_work(struct btrfs_work *work)
  * wait for all the ordered extents in a root.  This is done when balancing
  * space between drives.
  */
-int btrfs_wait_ordered_extents(struct btrfs_root *root, int nr,
+u64 btrfs_wait_ordered_extents(struct btrfs_root *root, u64 nr,
                               const u64 range_start, const u64 range_len)
 {
        struct btrfs_fs_info *fs_info = root->fs_info;
@@ -671,7 +671,7 @@ int btrfs_wait_ordered_extents(struct btrfs_root *root, int nr,
        LIST_HEAD(skipped);
        LIST_HEAD(works);
        struct btrfs_ordered_extent *ordered, *next;
-       int count = 0;
+       u64 count = 0;
        const u64 range_end = range_start + range_len;
 
        mutex_lock(&root->ordered_extent_mutex);
@@ -701,7 +701,7 @@ int btrfs_wait_ordered_extents(struct btrfs_root *root, int nr,
 
                cond_resched();
                spin_lock(&root->ordered_extent_lock);
-               if (nr != -1)
+               if (nr != U64_MAX)
                        nr--;
                count++;
        }
@@ -720,13 +720,13 @@ int btrfs_wait_ordered_extents(struct btrfs_root *root, int nr,
        return count;
 }
 
-int btrfs_wait_ordered_roots(struct btrfs_fs_info *fs_info, int nr,
-                             const u64 range_start, const u64 range_len)
+u64 btrfs_wait_ordered_roots(struct btrfs_fs_info *fs_info, u64 nr,
+                            const u64 range_start, const u64 range_len)
 {
        struct btrfs_root *root;
        struct list_head splice;
-       int done;
-       int total_done = 0;
+       u64 total_done = 0;
+       u64 done;
 
        INIT_LIST_HEAD(&splice);
 
@@ -748,9 +748,8 @@ int btrfs_wait_ordered_roots(struct btrfs_fs_info *fs_info, int nr,
                total_done += done;
 
                spin_lock(&fs_info->ordered_root_lock);
-               if (nr != -1) {
+               if (nr != U64_MAX) {
                        nr -= done;
-                       WARN_ON(nr < 0);
                }
        }
        list_splice_tail(&splice, &fs_info->ordered_roots);