Displaying 2 results from an estimated 2 matches for "meta_sinfo".
Did you mean:
data_sinfo
2010 Mar 12
2
[PATCH] Btrfs: force delalloc flushing when things get desperate
...ot *root,
btrfs_queue_worker(&root->fs_info->enospc_workers,
&async->work);
- wait_on_flush(root, info);
+ wait_on_flush(root, info, soft);
return;
flush:
@@ -3146,14 +3152,17 @@ again:
if (!delalloc_flushed) {
delalloc_flushed = true;
- flush_delalloc(root, meta_sinfo);
+ flush_delalloc(root, meta_sinfo, 1);
goto again;
}
if (!chunk_allocated) {
+ int ret;
+
chunk_allocated = true;
- btrfs_wait_ordered_extents(root, 0, 0);
- maybe_allocate_chunk(root, meta_sinfo);
+ ret = maybe_allocate_chunk(root, meta_sinfo);
+ if (!ret)
+ flush_delalloc(ro...
2009 Aug 24
0
[PATCH] Btrfs: proper metadata -ENOSPC handling
...t 5% of our metadata space free
- * for use.
+ * Figure out how much metadata space we have free.
*/
-int btrfs_check_metadata_free_space(struct btrfs_root *root)
+u64 btrfs_metadata_free_space(struct btrfs_root *root)
{
struct btrfs_fs_info *info = root->fs_info;
struct btrfs_space_info *meta_sinfo;
- u64 alloc_target, thresh;
- int committed = 0, ret;
+ u64 alloc_target, thresh, used, total;
/* get the space info for where the metadata will live */
alloc_target = btrfs_get_alloc_profile(root, 0);
meta_sinfo = __find_space_info(info, alloc_target);
-again:
spin_lock(&meta_sinf...