btrfs-progs: volumes: Allow find_free_dev_extent() to return maximum hole size
authorQu Wenruo <wqu@suse.com>
Fri, 9 Feb 2018 07:44:23 +0000 (15:44 +0800)
committerDavid Sterba <dsterba@suse.com>
Sat, 24 Feb 2018 00:37:17 +0000 (01:37 +0100)
Just as kernel find_free_dev_extent(), allow it to return maximum hole
size for us to build device list for later chunk allocator rework.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
volumes.c

index 00acaa0..9ebe52a 100644 (file)
--- a/volumes.c
+++ b/volumes.c
@@ -516,10 +516,10 @@ out:
 }
 
 static int find_free_dev_extent(struct btrfs_device *device, u64 num_bytes,
-                               u64 *start)
+                               u64 *start, u64 *len)
 {
        /* FIXME use last free of some kind */
-       return find_free_dev_extent_start(device, num_bytes, 0, start, NULL);
+       return find_free_dev_extent_start(device, num_bytes, 0, start, len);
 }
 
 static int btrfs_alloc_dev_extent(struct btrfs_trans_handle *trans,
@@ -543,7 +543,7 @@ static int btrfs_alloc_dev_extent(struct btrfs_trans_handle *trans,
         * is responsible to make sure it's free.
         */
        if (!convert) {
-               ret = find_free_dev_extent(device, num_bytes, start);
+               ret = find_free_dev_extent(device, num_bytes, start, NULL);
                if (ret)
                        goto err;
        }