diff options
author | Josef Bacik <josef@redhat.com> | 2010-07-02 12:14:14 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2010-10-29 09:26:29 -0400 |
commit | 0cb59c9953171e9adf6da8142a5c85ceb77bb60d (patch) | |
tree | f72af47fa18815491814290a1b4907082bd9316d /fs/btrfs/ctree.h | |
parent | 0af3d00bad38d3bb9912a60928ad0669f17bdb76 (diff) |
Btrfs: write out free space cache
This is a simple bit, just dump the free space cache out to our preallocated
inode when we're writing out dirty block groups. There are a bunch of changes
in inode.c in order to account for special cases. Mostly when we're doing the
writeout we're holding trans_mutex, so we need to use the nolock transacation
functions. Also we can't do asynchronous completions since the async thread
could be blocked on already completed IO waiting for the transaction lock. This
has been tested with xfstests and btrfs filesystem balance, as well as my ENOSPC
tests. Thanks,
Signed-off-by: Josef Bacik <josef@redhat.com>
Diffstat (limited to 'fs/btrfs/ctree.h')
-rw-r--r-- | fs/btrfs/ctree.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 46f52e1beade..2c06b37cda75 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h | |||
@@ -982,6 +982,7 @@ struct btrfs_fs_info { | |||
982 | struct btrfs_workers endio_meta_workers; | 982 | struct btrfs_workers endio_meta_workers; |
983 | struct btrfs_workers endio_meta_write_workers; | 983 | struct btrfs_workers endio_meta_write_workers; |
984 | struct btrfs_workers endio_write_workers; | 984 | struct btrfs_workers endio_write_workers; |
985 | struct btrfs_workers endio_freespace_worker; | ||
985 | struct btrfs_workers submit_workers; | 986 | struct btrfs_workers submit_workers; |
986 | /* | 987 | /* |
987 | * fixup workers take dirty pages that didn't properly go through | 988 | * fixup workers take dirty pages that didn't properly go through |