summaryrefslogtreecommitdiff
path: root/fs/btrfs/volumes.c
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2009-03-10 17:17:18 (GMT)
committerChris Mason <chris.mason@oracle.com>2009-03-10 17:17:18 (GMT)
commit913d952eb573c3d1f7487e83b5590e13e7cae2bd (patch)
treece01f54ffbd6ae871c4e11560ae1c826cffe4d3a /fs/btrfs/volumes.c
parent4184ea7f908d95f329febc3665cf66da8568b467 (diff)
downloadlinux-913d952eb573c3d1f7487e83b5590e13e7cae2bd.tar.xz
Btrfs: Clear space_info full when adding new devices
The full flag on the space info structs tells the allocator not to try and allocate more chunks because the devices in the FS are fully allocated. When more devices are added, we need to clear the full flag so the allocator knows it has more space available. Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/volumes.c')
-rw-r--r--fs/btrfs/volumes.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 7aa3810..dd06e18 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -1374,6 +1374,12 @@ int btrfs_init_new_device(struct btrfs_root *root, char *device_path)
ret = btrfs_add_device(trans, root, device);
}
+ /*
+ * we've got more storage, clear any full flags on the space
+ * infos
+ */
+ btrfs_clear_space_info_full(root->fs_info);
+
unlock_chunks(root);
btrfs_commit_transaction(trans, root);