btrfs: move flush related definitions to space-info.h
This code is used in space-info.c, move the definitions to space-info.h. Reviewed-by: Qu Wenruo <wqu@suse.com> Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Signed-off-by: Josef Bacik <josef@toxicpanda.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Родитель
06d61cb101
Коммит
f1e5c6185c
|
@ -2639,65 +2639,6 @@ int btrfs_inc_extent_ref(struct btrfs_trans_handle *trans,
|
|||
|
||||
void btrfs_clear_space_info_full(struct btrfs_fs_info *info);
|
||||
|
||||
/*
|
||||
* Different levels for to flush space when doing space reservations.
|
||||
*
|
||||
* The higher the level, the more methods we try to reclaim space.
|
||||
*/
|
||||
enum btrfs_reserve_flush_enum {
|
||||
/* If we are in the transaction, we can't flush anything.*/
|
||||
BTRFS_RESERVE_NO_FLUSH,
|
||||
|
||||
/*
|
||||
* Flush space by:
|
||||
* - Running delayed inode items
|
||||
* - Allocating a new chunk
|
||||
*/
|
||||
BTRFS_RESERVE_FLUSH_LIMIT,
|
||||
|
||||
/*
|
||||
* Flush space by:
|
||||
* - Running delayed inode items
|
||||
* - Running delayed refs
|
||||
* - Running delalloc and waiting for ordered extents
|
||||
* - Allocating a new chunk
|
||||
*/
|
||||
BTRFS_RESERVE_FLUSH_EVICT,
|
||||
|
||||
/*
|
||||
* Flush space by above mentioned methods and by:
|
||||
* - Running delayed iputs
|
||||
* - Committing transaction
|
||||
*
|
||||
* Can be interrupted by a fatal signal.
|
||||
*/
|
||||
BTRFS_RESERVE_FLUSH_DATA,
|
||||
BTRFS_RESERVE_FLUSH_FREE_SPACE_INODE,
|
||||
BTRFS_RESERVE_FLUSH_ALL,
|
||||
|
||||
/*
|
||||
* Pretty much the same as FLUSH_ALL, but can also steal space from
|
||||
* global rsv.
|
||||
*
|
||||
* Can be interrupted by a fatal signal.
|
||||
*/
|
||||
BTRFS_RESERVE_FLUSH_ALL_STEAL,
|
||||
};
|
||||
|
||||
enum btrfs_flush_state {
|
||||
FLUSH_DELAYED_ITEMS_NR = 1,
|
||||
FLUSH_DELAYED_ITEMS = 2,
|
||||
FLUSH_DELAYED_REFS_NR = 3,
|
||||
FLUSH_DELAYED_REFS = 4,
|
||||
FLUSH_DELALLOC = 5,
|
||||
FLUSH_DELALLOC_WAIT = 6,
|
||||
FLUSH_DELALLOC_FULL = 7,
|
||||
ALLOC_CHUNK = 8,
|
||||
ALLOC_CHUNK_FORCE = 9,
|
||||
RUN_DELAYED_IPUTS = 10,
|
||||
COMMIT_TRANS = 11,
|
||||
};
|
||||
|
||||
int btrfs_subvolume_reserve_metadata(struct btrfs_root *root,
|
||||
struct btrfs_block_rsv *rsv,
|
||||
int nitems, bool use_global_rsv);
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#include "qgroup.h"
|
||||
#include "locking.h"
|
||||
#include "inode-item.h"
|
||||
#include "space-info.h"
|
||||
|
||||
#define BTRFS_DELAYED_WRITEBACK 512
|
||||
#define BTRFS_DELAYED_BACKGROUND 128
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#include "disk-io.h"
|
||||
#include "transaction.h"
|
||||
#include "print-tree.h"
|
||||
#include "space-info.h"
|
||||
|
||||
struct btrfs_inode_ref *btrfs_find_name_in_backref(struct extent_buffer *leaf,
|
||||
int slot, const char *name,
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include "ctree.h"
|
||||
#include "xattr.h"
|
||||
#include "compression.h"
|
||||
#include "space-info.h"
|
||||
|
||||
#define BTRFS_PROP_HANDLERS_HT_BITS 8
|
||||
static DEFINE_HASHTABLE(prop_handlers_ht, BTRFS_PROP_HANDLERS_HT_BITS);
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#include "subpage.h"
|
||||
#include "zoned.h"
|
||||
#include "inode-item.h"
|
||||
#include "space-info.h"
|
||||
|
||||
/*
|
||||
* Relocation overview
|
||||
|
|
|
@ -5,6 +5,65 @@
|
|||
|
||||
#include "volumes.h"
|
||||
|
||||
/*
|
||||
* Different levels for to flush space when doing space reservations.
|
||||
*
|
||||
* The higher the level, the more methods we try to reclaim space.
|
||||
*/
|
||||
enum btrfs_reserve_flush_enum {
|
||||
/* If we are in the transaction, we can't flush anything.*/
|
||||
BTRFS_RESERVE_NO_FLUSH,
|
||||
|
||||
/*
|
||||
* Flush space by:
|
||||
* - Running delayed inode items
|
||||
* - Allocating a new chunk
|
||||
*/
|
||||
BTRFS_RESERVE_FLUSH_LIMIT,
|
||||
|
||||
/*
|
||||
* Flush space by:
|
||||
* - Running delayed inode items
|
||||
* - Running delayed refs
|
||||
* - Running delalloc and waiting for ordered extents
|
||||
* - Allocating a new chunk
|
||||
*/
|
||||
BTRFS_RESERVE_FLUSH_EVICT,
|
||||
|
||||
/*
|
||||
* Flush space by above mentioned methods and by:
|
||||
* - Running delayed iputs
|
||||
* - Committing transaction
|
||||
*
|
||||
* Can be interrupted by a fatal signal.
|
||||
*/
|
||||
BTRFS_RESERVE_FLUSH_DATA,
|
||||
BTRFS_RESERVE_FLUSH_FREE_SPACE_INODE,
|
||||
BTRFS_RESERVE_FLUSH_ALL,
|
||||
|
||||
/*
|
||||
* Pretty much the same as FLUSH_ALL, but can also steal space from
|
||||
* global rsv.
|
||||
*
|
||||
* Can be interrupted by a fatal signal.
|
||||
*/
|
||||
BTRFS_RESERVE_FLUSH_ALL_STEAL,
|
||||
};
|
||||
|
||||
enum btrfs_flush_state {
|
||||
FLUSH_DELAYED_ITEMS_NR = 1,
|
||||
FLUSH_DELAYED_ITEMS = 2,
|
||||
FLUSH_DELAYED_REFS_NR = 3,
|
||||
FLUSH_DELAYED_REFS = 4,
|
||||
FLUSH_DELALLOC = 5,
|
||||
FLUSH_DELALLOC_WAIT = 6,
|
||||
FLUSH_DELALLOC_FULL = 7,
|
||||
ALLOC_CHUNK = 8,
|
||||
ALLOC_CHUNK_FORCE = 9,
|
||||
RUN_DELAYED_IPUTS = 10,
|
||||
COMMIT_TRANS = 11,
|
||||
};
|
||||
|
||||
struct btrfs_space_info {
|
||||
spinlock_t lock;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче