mirror of https://gitee.com/openkylin/linux.git
btrfs: add comments for btrfs_reserve_flush_enum
This enum is the interface exposed to developers. Although we have a detailed comment explaining the whole idea of space flushing at the beginning of space-info.c, the exposed enum interface doesn't have any comment. Some corner cases, like BTRFS_RESERVE_FLUSH_ALL and BTRFS_RESERVE_FLUSH_ALL_STEAL can be interrupted by fatal signals, are not explained at all. So add some simple comments for these enums as a quick reference. Signed-off-by: Qu Wenruo <wqu@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
44d354abf3
commit
fd7fb634d6
|
@ -2560,16 +2560,46 @@ int btrfs_inc_extent_ref(struct btrfs_trans_handle *trans,
|
|||
int btrfs_extent_readonly(struct btrfs_fs_info *fs_info, u64 bytenr);
|
||||
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,
|
||||
|
||||
/*
|
||||
* Flushing delalloc may cause deadlock somewhere, in this
|
||||
* case, use FLUSH LIMIT
|
||||
* 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
|
||||
* - Commiting transaction
|
||||
*
|
||||
* Can be interruped by fatal signal.
|
||||
*/
|
||||
BTRFS_RESERVE_FLUSH_ALL,
|
||||
|
||||
/*
|
||||
* Pretty much the same as FLUSH_ALL, but can also steal space from
|
||||
* global rsv.
|
||||
*
|
||||
* Can be interruped by fatal signal.
|
||||
*/
|
||||
BTRFS_RESERVE_FLUSH_ALL_STEAL,
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue