diff options
author | Chris Mason <clm@fb.com> | 2016-01-11 08:39:28 -0800 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2016-01-11 08:39:28 -0800 |
commit | 988f1f576d4f7531cb2175ee1b7cb7afd6d95d22 (patch) | |
tree | bd7d676abc4b13b749d3ad6cb41e7872a6fdfb2f /fs/btrfs/volumes.c | |
parent | b28cf57246d5b797ba725bb033110c247f2c301f (diff) | |
parent | 8cdc7c5b00d945a3c823fc4277af304abb9cb43d (diff) | |
download | blackbird-op-linux-988f1f576d4f7531cb2175ee1b7cb7afd6d95d22.tar.gz blackbird-op-linux-988f1f576d4f7531cb2175ee1b7cb7afd6d95d22.zip |
Merge branch 'for-chris-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/fdmanana/linux into for-linus-4.5
Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'fs/btrfs/volumes.c')
-rw-r--r-- | fs/btrfs/volumes.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index 544636e2a13a..c32abbca9d77 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c @@ -1258,6 +1258,15 @@ int find_free_dev_extent_start(struct btrfs_transaction *transaction, int ret; int slot; struct extent_buffer *l; + u64 min_search_start; + + /* + * We don't want to overwrite the superblock on the drive nor any area + * used by the boot loader (grub for example), so we make sure to start + * at an offset of at least 1MB. + */ + min_search_start = max(root->fs_info->alloc_start, 1024ull * 1024); + search_start = max(search_start, min_search_start); path = btrfs_alloc_path(); if (!path) @@ -1398,18 +1407,9 @@ int find_free_dev_extent(struct btrfs_trans_handle *trans, struct btrfs_device *device, u64 num_bytes, u64 *start, u64 *len) { - struct btrfs_root *root = device->dev_root; - u64 search_start; - /* FIXME use last free of some kind */ - - /* - * we don't want to overwrite the superblock on the drive, - * so we make sure to start at an offset of at least 1MB - */ - search_start = max_t(u64, root->fs_info->alloc_start, SZ_1M); return find_free_dev_extent_start(trans->transaction, device, - num_bytes, search_start, start, len); + num_bytes, 0, start, len); } static int btrfs_free_dev_extent(struct btrfs_trans_handle *trans, |