mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 06:01:57 +00:00
btrfs: add forward declarations and headers, part 2
Do a cleanup in more headers: - add forward declarations for types referenced by pointers - add includes when types need them This fixes potential compilation problems if the headers are reordered or the missing includes are not provided indirectly. Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
22b46bdc5f
commit
602035d7fe
@ -7,12 +7,14 @@
|
||||
#ifndef BTRFS_BIO_H
|
||||
#define BTRFS_BIO_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/bio.h>
|
||||
#include <linux/workqueue.h>
|
||||
#include "tree-checker.h"
|
||||
|
||||
struct btrfs_bio;
|
||||
struct btrfs_fs_info;
|
||||
struct btrfs_inode;
|
||||
|
||||
#define BTRFS_BIO_INLINE_CSUM_SIZE 64
|
||||
|
||||
|
@ -3,8 +3,15 @@
|
||||
#ifndef BTRFS_BLOCK_RSV_H
|
||||
#define BTRFS_BLOCK_RSV_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/spinlock.h>
|
||||
|
||||
struct btrfs_trans_handle;
|
||||
struct btrfs_root;
|
||||
struct btrfs_space_info;
|
||||
struct btrfs_block_rsv;
|
||||
struct btrfs_fs_info;
|
||||
enum btrfs_reserve_flush_enum;
|
||||
|
||||
/*
|
||||
|
@ -7,10 +7,18 @@
|
||||
#define BTRFS_COMPRESSION_H
|
||||
|
||||
#include <linux/sizes.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/workqueue.h>
|
||||
#include <linux/wait.h>
|
||||
#include "bio.h"
|
||||
|
||||
struct address_space;
|
||||
struct page;
|
||||
struct inode;
|
||||
struct btrfs_inode;
|
||||
struct btrfs_ordered_extent;
|
||||
struct btrfs_bio;
|
||||
|
||||
/*
|
||||
* We want to make sure that amount of RAM required to uncompress an extent is
|
||||
@ -32,8 +40,6 @@ static_assert((BTRFS_MAX_COMPRESSED % PAGE_SIZE) == 0);
|
||||
|
||||
#define BTRFS_ZLIB_DEFAULT_LEVEL 3
|
||||
|
||||
struct page;
|
||||
|
||||
struct compressed_bio {
|
||||
/* Number of compressed pages in the array */
|
||||
unsigned int nr_pages;
|
||||
|
@ -7,15 +7,23 @@
|
||||
#ifndef BTRFS_DELAYED_INODE_H
|
||||
#define BTRFS_DELAYED_INODE_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/rbtree.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/wait.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/atomic.h>
|
||||
#include <linux/refcount.h>
|
||||
#include "ctree.h"
|
||||
|
||||
struct btrfs_disk_key;
|
||||
struct btrfs_fs_info;
|
||||
struct btrfs_inode;
|
||||
struct btrfs_root;
|
||||
struct btrfs_trans_handle;
|
||||
|
||||
enum btrfs_delayed_item_type {
|
||||
BTRFS_DELAYED_INSERTION_ITEM,
|
||||
BTRFS_DELAYED_DELETION_ITEM
|
||||
|
@ -7,9 +7,21 @@
|
||||
#define BTRFS_DISK_IO_H
|
||||
|
||||
#include <linux/sizes.h>
|
||||
#include <linux/compiler_types.h>
|
||||
#include "ctree.h"
|
||||
#include "fs.h"
|
||||
|
||||
struct block_device;
|
||||
struct super_block;
|
||||
struct extent_buffer;
|
||||
struct btrfs_device;
|
||||
struct btrfs_fs_devices;
|
||||
struct btrfs_fs_info;
|
||||
struct btrfs_super_block;
|
||||
struct btrfs_trans_handle;
|
||||
struct btrfs_tree_parent_check;
|
||||
struct btrfs_transaction;
|
||||
|
||||
#define BTRFS_SUPER_MIRROR_MAX 3
|
||||
#define BTRFS_SUPER_MIRROR_SHIFT 12
|
||||
|
||||
@ -29,10 +41,6 @@ static inline u64 btrfs_sb_offset(int mirror)
|
||||
return BTRFS_SUPER_INFO_OFFSET;
|
||||
}
|
||||
|
||||
struct btrfs_device;
|
||||
struct btrfs_fs_devices;
|
||||
struct btrfs_tree_parent_check;
|
||||
|
||||
void btrfs_check_leaked_roots(struct btrfs_fs_info *fs_info);
|
||||
void btrfs_init_fs_info(struct btrfs_fs_info *fs_info);
|
||||
struct extent_buffer *read_tree_block(struct btrfs_fs_info *fs_info, u64 bytenr,
|
||||
|
@ -3,9 +3,16 @@
|
||||
#ifndef BTRFS_EXTENT_IO_TREE_H
|
||||
#define BTRFS_EXTENT_IO_TREE_H
|
||||
|
||||
#include <linux/rbtree.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/refcount.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/wait.h>
|
||||
#include "misc.h"
|
||||
|
||||
struct extent_changeset;
|
||||
struct btrfs_fs_info;
|
||||
struct btrfs_inode;
|
||||
|
||||
/* Bits for the extent state */
|
||||
enum {
|
||||
|
@ -3,11 +3,20 @@
|
||||
#ifndef BTRFS_EXTENT_TREE_H
|
||||
#define BTRFS_EXTENT_TREE_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include "misc.h"
|
||||
#include "block-group.h"
|
||||
#include "locking.h"
|
||||
|
||||
struct extent_buffer;
|
||||
struct btrfs_free_cluster;
|
||||
struct btrfs_fs_info;
|
||||
struct btrfs_root;
|
||||
struct btrfs_path;
|
||||
struct btrfs_disk_key;
|
||||
struct btrfs_delayed_ref_head;
|
||||
struct btrfs_delayed_ref_root;
|
||||
struct btrfs_extent_inline_ref;
|
||||
|
||||
enum btrfs_extent_allocation_policy {
|
||||
BTRFS_EXTENT_ALLOC_CLUSTERED,
|
||||
|
@ -7,12 +7,32 @@
|
||||
#include <linux/refcount.h>
|
||||
#include <linux/fiemap.h>
|
||||
#include <linux/btrfs_tree.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/atomic.h>
|
||||
#include <linux/rwsem.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/slab.h>
|
||||
#include "compression.h"
|
||||
#include "messages.h"
|
||||
#include "ulist.h"
|
||||
#include "misc.h"
|
||||
|
||||
struct page;
|
||||
struct file;
|
||||
struct folio;
|
||||
struct inode;
|
||||
struct fiemap_extent_info;
|
||||
struct readahead_control;
|
||||
struct address_space;
|
||||
struct writeback_control;
|
||||
struct extent_io_tree;
|
||||
struct extent_map_tree;
|
||||
struct btrfs_block_group;
|
||||
struct btrfs_fs_info;
|
||||
struct btrfs_inode;
|
||||
struct btrfs_root;
|
||||
struct btrfs_trans_handle;
|
||||
struct btrfs_tree_parent_check;
|
||||
|
||||
enum {
|
||||
EXTENT_BUFFER_UPTODATE,
|
||||
@ -64,11 +84,6 @@ enum {
|
||||
#define BITMAP_LAST_BYTE_MASK(nbits) \
|
||||
(BYTE_MASK >> (-(nbits) & (BITS_PER_BYTE - 1)))
|
||||
|
||||
struct btrfs_root;
|
||||
struct btrfs_inode;
|
||||
struct btrfs_fs_info;
|
||||
struct extent_io_tree;
|
||||
struct btrfs_tree_parent_check;
|
||||
|
||||
int __init extent_buffer_init_cachep(void);
|
||||
void __cold extent_buffer_free_cachep(void);
|
||||
|
@ -3,11 +3,18 @@
|
||||
#ifndef BTRFS_EXTENT_MAP_H
|
||||
#define BTRFS_EXTENT_MAP_H
|
||||
|
||||
#include <linux/compiler_types.h>
|
||||
#include <linux/rwlock_types.h>
|
||||
#include <linux/rbtree.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/refcount.h>
|
||||
#include "misc.h"
|
||||
#include "extent_map.h"
|
||||
#include "compression.h"
|
||||
|
||||
struct btrfs_inode;
|
||||
struct btrfs_fs_info;
|
||||
|
||||
#define EXTENT_MAP_LAST_BYTE ((u64)-4)
|
||||
#define EXTENT_MAP_HOLE ((u64)-3)
|
||||
#define EXTENT_MAP_INLINE ((u64)-2)
|
||||
|
@ -3,9 +3,20 @@
|
||||
#ifndef BTRFS_FILE_ITEM_H
|
||||
#define BTRFS_FILE_ITEM_H
|
||||
|
||||
#include <linux/list.h>
|
||||
#include <uapi/linux/btrfs_tree.h>
|
||||
#include "accessors.h"
|
||||
|
||||
struct extent_map;
|
||||
struct btrfs_file_extent_item;
|
||||
struct btrfs_fs_info;
|
||||
struct btrfs_path;
|
||||
struct btrfs_bio;
|
||||
struct btrfs_trans_handle;
|
||||
struct btrfs_root;
|
||||
struct btrfs_ordered_sum;
|
||||
struct btrfs_path;
|
||||
struct btrfs_inode;
|
||||
|
||||
#define BTRFS_FILE_EXTENT_INLINE_DATA_START \
|
||||
(offsetof(struct btrfs_file_extent_item, disk_bytenr))
|
||||
|
@ -6,6 +6,19 @@
|
||||
#ifndef BTRFS_FREE_SPACE_CACHE_H
|
||||
#define BTRFS_FREE_SPACE_CACHE_H
|
||||
|
||||
#include <linux/rbtree.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/mutex.h>
|
||||
#include "fs.h"
|
||||
|
||||
struct inode;
|
||||
struct page;
|
||||
struct btrfs_fs_info;
|
||||
struct btrfs_path;
|
||||
struct btrfs_trans_handle;
|
||||
struct btrfs_trim_block_group;
|
||||
|
||||
/*
|
||||
* This is the trim state of an extent or bitmap.
|
||||
*
|
||||
|
@ -6,7 +6,13 @@
|
||||
#ifndef BTRFS_FREE_SPACE_TREE_H
|
||||
#define BTRFS_FREE_SPACE_TREE_H
|
||||
|
||||
#include <linux/bits.h>
|
||||
|
||||
struct btrfs_caching_control;
|
||||
struct btrfs_fs_info;
|
||||
struct btrfs_path;
|
||||
struct btrfs_block_group;
|
||||
struct btrfs_trans_handle;
|
||||
|
||||
/*
|
||||
* The default size for new free space bitmap items. The last bitmap in a block
|
||||
|
@ -6,14 +6,15 @@
|
||||
#include <linux/types.h>
|
||||
#include <linux/crc32c.h>
|
||||
|
||||
struct fscrypt_str;
|
||||
struct extent_buffer;
|
||||
struct btrfs_trans_handle;
|
||||
struct btrfs_root;
|
||||
struct btrfs_path;
|
||||
struct btrfs_key;
|
||||
struct btrfs_inode_extref;
|
||||
struct btrfs_inode;
|
||||
struct extent_buffer;
|
||||
struct fscrypt_str;
|
||||
struct btrfs_truncate_control;
|
||||
|
||||
/*
|
||||
* Return this if we need to call truncate_block for the last bit of the
|
||||
|
@ -8,8 +8,14 @@
|
||||
|
||||
#include <linux/atomic.h>
|
||||
#include <linux/wait.h>
|
||||
#include <linux/lockdep.h>
|
||||
#include <linux/percpu_counter.h>
|
||||
#include "extent_io.h"
|
||||
#include "locking.h"
|
||||
|
||||
struct extent_buffer;
|
||||
struct btrfs_path;
|
||||
struct btrfs_root;
|
||||
|
||||
#define BTRFS_WRITE_LOCK 1
|
||||
#define BTRFS_READ_LOCK 2
|
||||
@ -157,8 +163,6 @@ enum btrfs_lockdep_trans_states {
|
||||
static_assert(BTRFS_NESTING_MAX <= MAX_LOCKDEP_SUBCLASSES,
|
||||
"too many lock subclasses defined");
|
||||
|
||||
struct btrfs_path;
|
||||
|
||||
void __btrfs_tree_lock(struct extent_buffer *eb, enum btrfs_lock_nesting nest);
|
||||
void btrfs_tree_lock(struct extent_buffer *eb);
|
||||
void btrfs_tree_unlock(struct extent_buffer *eb);
|
||||
|
@ -3,8 +3,10 @@
|
||||
#ifndef BTRFS_LRU_CACHE_H
|
||||
#define BTRFS_LRU_CACHE_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/maple_tree.h>
|
||||
#include <linux/list.h>
|
||||
#include "lru_cache.h"
|
||||
|
||||
/*
|
||||
* A cache entry. This is meant to be embedded in a structure of a user of
|
||||
|
@ -3,6 +3,8 @@
|
||||
#ifndef BTRFS_MISC_H
|
||||
#define BTRFS_MISC_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/bitmap.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/wait.h>
|
||||
#include <linux/math64.h>
|
||||
|
@ -6,8 +6,21 @@
|
||||
#ifndef BTRFS_ORDERED_DATA_H
|
||||
#define BTRFS_ORDERED_DATA_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/refcount.h>
|
||||
#include <linux/completion.h>
|
||||
#include <linux/rbtree.h>
|
||||
#include <linux/wait.h>
|
||||
#include "async-thread.h"
|
||||
|
||||
struct inode;
|
||||
struct page;
|
||||
struct extent_state;
|
||||
struct btrfs_inode;
|
||||
struct btrfs_root;
|
||||
struct btrfs_fs_info;
|
||||
|
||||
struct btrfs_ordered_sum {
|
||||
/*
|
||||
* Logical start address and length for of the blocks covered by
|
||||
|
@ -7,9 +7,18 @@
|
||||
#ifndef BTRFS_RAID56_H
|
||||
#define BTRFS_RAID56_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/bio.h>
|
||||
#include <linux/refcount.h>
|
||||
#include <linux/workqueue.h>
|
||||
#include "volumes.h"
|
||||
|
||||
struct page;
|
||||
struct sector_ptr;
|
||||
struct btrfs_fs_info;
|
||||
|
||||
enum btrfs_rbio_ops {
|
||||
BTRFS_RBIO_WRITE,
|
||||
BTRFS_RBIO_READ_REBUILD,
|
||||
|
@ -8,6 +8,11 @@
|
||||
#define BTRFS_SEND_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/sizes.h>
|
||||
#include <linux/align.h>
|
||||
|
||||
struct inode;
|
||||
struct btrfs_ioctl_send_args;
|
||||
|
||||
#define BTRFS_SEND_STREAM_MAGIC "btrfs-stream"
|
||||
/* Conditional support for the upcoming protocol version. */
|
||||
@ -25,9 +30,6 @@
|
||||
#define BTRFS_SEND_BUF_SIZE_V1 SZ_64K
|
||||
#define BTRFS_SEND_BUF_SIZE_V2 ALIGN(SZ_16K + BTRFS_MAX_COMPRESSED, PAGE_SIZE)
|
||||
|
||||
struct inode;
|
||||
struct btrfs_ioctl_send_args;
|
||||
|
||||
enum btrfs_tlv_type {
|
||||
BTRFS_TLV_U8,
|
||||
BTRFS_TLV_U16,
|
||||
|
@ -4,8 +4,17 @@
|
||||
#define BTRFS_SPACE_INFO_H
|
||||
|
||||
#include <trace/events/btrfs.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/kobject.h>
|
||||
#include <linux/lockdep.h>
|
||||
#include <linux/wait.h>
|
||||
#include <linux/rwsem.h>
|
||||
#include "volumes.h"
|
||||
|
||||
struct btrfs_fs_info;
|
||||
struct btrfs_block_group;
|
||||
|
||||
/*
|
||||
* Different levels for to flush space when doing space reservations.
|
||||
*
|
||||
|
@ -4,6 +4,11 @@
|
||||
#define BTRFS_SUBPAGE_H
|
||||
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/atomic.h>
|
||||
|
||||
struct address_space;
|
||||
struct folio;
|
||||
struct btrfs_fs_info;
|
||||
|
||||
/*
|
||||
* Extra info for subpapge bitmap.
|
||||
|
@ -6,12 +6,27 @@
|
||||
#ifndef BTRFS_TRANSACTION_H
|
||||
#define BTRFS_TRANSACTION_H
|
||||
|
||||
#include <linux/atomic.h>
|
||||
#include <linux/refcount.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/time64.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/wait.h>
|
||||
#include "btrfs_inode.h"
|
||||
#include "delayed-ref.h"
|
||||
#include "ctree.h"
|
||||
#include "extent-io-tree.h"
|
||||
#include "block-rsv.h"
|
||||
#include "messages.h"
|
||||
#include "misc.h"
|
||||
|
||||
struct dentry;
|
||||
struct inode;
|
||||
struct btrfs_pending_snapshot;
|
||||
struct btrfs_fs_info;
|
||||
struct btrfs_root_item;
|
||||
struct btrfs_root;
|
||||
struct btrfs_path;
|
||||
|
||||
/* Radix-tree tag for roots that are part of the trasaction. */
|
||||
#define BTRFS_ROOT_TRANS_TAG 0
|
||||
|
||||
|
@ -6,10 +6,12 @@
|
||||
#ifndef BTRFS_TREE_CHECKER_H
|
||||
#define BTRFS_TREE_CHECKER_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <uapi/linux/btrfs_tree.h>
|
||||
|
||||
struct extent_buffer;
|
||||
struct btrfs_chunk;
|
||||
struct btrfs_key;
|
||||
|
||||
/* All the extra info needed to verify the parentness of a tree block. */
|
||||
struct btrfs_tree_parent_check {
|
||||
|
@ -6,10 +6,18 @@
|
||||
#ifndef BTRFS_TREE_LOG_H
|
||||
#define BTRFS_TREE_LOG_H
|
||||
|
||||
#include <linux/list.h>
|
||||
#include <linux/fs.h>
|
||||
#include "messages.h"
|
||||
#include "ctree.h"
|
||||
#include "transaction.h"
|
||||
|
||||
struct inode;
|
||||
struct dentry;
|
||||
struct btrfs_ordered_extent;
|
||||
struct btrfs_root;
|
||||
struct btrfs_trans_handle;
|
||||
|
||||
/* return value for btrfs_log_dentry_safe that means we don't need to log it at all */
|
||||
#define BTRFS_NO_LOG_SYNC 256
|
||||
|
||||
|
@ -7,6 +7,7 @@
|
||||
#ifndef BTRFS_ULIST_H
|
||||
#define BTRFS_ULIST_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/rbtree.h>
|
||||
|
||||
|
@ -4,12 +4,27 @@
|
||||
#define BTRFS_ZONED_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/atomic.h>
|
||||
#include <linux/blkdev.h>
|
||||
#include <linux/blkzoned.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/mutex.h>
|
||||
#include "messages.h"
|
||||
#include "volumes.h"
|
||||
#include "disk-io.h"
|
||||
#include "block-group.h"
|
||||
#include "btrfs_inode.h"
|
||||
#include "fs.h"
|
||||
|
||||
struct block_device;
|
||||
struct extent_buffer;
|
||||
struct btrfs_bio;
|
||||
struct btrfs_ordered_extent;
|
||||
struct btrfs_fs_info;
|
||||
struct btrfs_space_info;
|
||||
struct btrfs_eb_write_context;
|
||||
struct btrfs_fs_devices;
|
||||
|
||||
#define BTRFS_DEFAULT_RECLAIM_THRESH (75)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user