|
ReactOS 0.4.16-dev-1946-g52006dd
|
#include "btrfs_drv.h"#include "xxhash.h"#include "crc32c.h"#include <ata.h>#include <ntddscsi.h>#include <ntddstor.h>
Go to the source code of this file.
Classes | |
| struct | write_context |
| struct | EXTENT_ITEM_TREE2 |
| struct | EXTENT_ITEM_SKINNY_METADATA |
| struct | ioctl_context_stripe |
| struct | ioctl_context |
| struct | write_superblocks_stripe |
| struct | _write_superblocks_context |
| struct | extent_range |
Macros | |
| #define | MAX_CSUM_SIZE (4096 - sizeof(tree_header) - (2 * sizeof(leaf_node))) |
| #define | BATCH_ITEM_LIMIT 1000 |
Typedefs | |
| typedef struct _write_superblocks_context | write_superblocks_context |
| #define BATCH_ITEM_LIMIT 1000 |
Definition at line 32 of file flushthread.c.
| #define MAX_CSUM_SIZE (4096 - sizeof(tree_header) - (2 * sizeof(leaf_node))) |
Definition at line 28 of file flushthread.c.
| _Function_class_ | ( | IO_COMPLETION_ROUTINE | ) |
Definition at line 58 of file flushthread.c.
| _Function_class_ | ( | KSTART_ROUTINE | ) |
Definition at line 7914 of file flushthread.c.
|
static |
Definition at line 1007 of file flushthread.c.
Referenced by update_tree_extents().
|
static |
Definition at line 1044 of file flushthread.c.
Referenced by update_tree_extents().
| void add_checksum_entry | ( | device_extension * | Vcb, |
| uint64_t | address, | ||
| ULONG | length, | ||
| void * | csum, | ||
| PIRP | Irp | ||
| ) |
Definition at line 2602 of file flushthread.c.
Referenced by balance_data_chunk(), decrease_extent_refcount(), flush_fcb(), and rationalize_extents().
|
static |
Definition at line 615 of file flushthread.c.
Referenced by do_write2().
Definition at line 702 of file flushthread.c.
Referenced by insert_tree_extent(), and insert_tree_extent_skinny().
|
static |
Definition at line 6472 of file flushthread.c.
Referenced by do_write2().
|
static |
Definition at line 6343 of file flushthread.c.
Referenced by flush_fileref().
|
static |
Definition at line 4160 of file flushthread.c.
Referenced by create_chunk().
Definition at line 157 of file flushthread.c.
Referenced by add_trim_entry_avoid_sb(), and clean_space_cache_chunk().
| void add_trim_entry_avoid_sb | ( | device_extension * | Vcb, |
| device * | dev, | ||
| uint64_t | address, | ||
| uint64_t | size | ||
| ) |
Definition at line 5507 of file flushthread.c.
Referenced by drop_chunk(), and trim_unalloc_space().
|
static |
Definition at line 1465 of file flushthread.c.
Referenced by do_write2().
|
static |
Definition at line 2211 of file flushthread.c.
Referenced by write_superblock().
| void calc_tree_checksum | ( | device_extension * | Vcb, |
| tree_header * | th | ||
| ) |
Definition at line 1806 of file flushthread.c.
Referenced by snapshot_tree_copy(), write_metadata_items(), and write_trees().
|
static |
Definition at line 7450 of file flushthread.c.
Referenced by do_write2().
|
static |
Definition at line 7375 of file flushthread.c.
Referenced by check_for_orphans().
|
static |
Definition at line 403 of file flushthread.c.
Referenced by do_write2().
|
static |
Definition at line 171 of file flushthread.c.
Referenced by clean_space_cache().
|
static |
Definition at line 4206 of file flushthread.c.
Referenced by update_chunk_usage(), and update_chunks().
|
static |
Definition at line 6246 of file flushthread.c.
Referenced by flush_fileref().
|
static |
Definition at line 4367 of file flushthread.c.
Referenced by flush_fcb().
|
static |
Definition at line 7896 of file flushthread.c.
Referenced by _Function_class_().
|
static |
Definition at line 3654 of file flushthread.c.
Referenced by do_write2().
| NTSTATUS do_tree_writes | ( | device_extension * | Vcb, |
| LIST_ENTRY * | tree_writes, | ||
| bool | no_free | ||
| ) |
Definition at line 1620 of file flushthread.c.
Referenced by write_metadata_items(), and write_trees().
| NTSTATUS do_write | ( | device_extension * | Vcb, |
| PIRP | Irp | ||
| ) |
Definition at line 7877 of file flushthread.c.
Referenced by _Dispatch_type_(), _Function_class_(), add_balance_item(), add_device(), balance_data_chunk(), balance_metadata_chunk(), dismount_volume(), do_create_snapshot(), do_flush(), finish_removing_device(), invalidate_volumes(), lock_volume(), pnp_query_remove_device(), remove_balance_item(), and try_consolidation().
|
static |
Definition at line 7477 of file flushthread.c.
Referenced by do_write().
|
static |
Definition at line 5531 of file flushthread.c.
Referenced by update_chunks().
|
static |
Definition at line 3945 of file flushthread.c.
Referenced by drop_roots().
|
static |
Definition at line 4072 of file flushthread.c.
Referenced by do_write2().
| bool find_metadata_address_in_chunk | ( | device_extension * | Vcb, |
| chunk * | c, | ||
| uint64_t * | address | ||
| ) |
Definition at line 744 of file flushthread.c.
Referenced by insert_tree_extent(), and write_metadata_items().
|
static |
Definition at line 7000 of file flushthread.c.
Referenced by do_write2().
|
static |
Definition at line 2433 of file flushthread.c.
Referenced by update_chunk_usage().
|
static |
Definition at line 6911 of file flushthread.c.
Referenced by do_write2().
| NTSTATUS flush_fcb | ( | fcb * | fcb, |
| bool | cache, | ||
| LIST_ENTRY * | batchlist, | ||
| PIRP | Irp | ||
| ) |
Definition at line 4924 of file flushthread.c.
Referenced by allocate_cache_chunk(), do_write2(), drop_chunk(), remove_free_space_inode(), update_chunk_cache(), and update_chunk_usage().
|
static |
Definition at line 6524 of file flushthread.c.
Referenced by do_write2().
| NTSTATUS flush_partial_stripe | ( | device_extension * | Vcb, |
| chunk * | c, | ||
| partial_stripe * | ps | ||
| ) |
Definition at line 5958 of file flushthread.c.
Referenced by __attribute__(), do_tree_writes(), update_chunk_caches(), and update_chunks().
|
static |
Definition at line 7044 of file flushthread.c.
Referenced by do_write2().
Definition at line 2972 of file flushthread.c.
Referenced by split_tree_at().
| NTSTATUS get_tree_new_address | ( | device_extension * | Vcb, |
| tree * | t, | ||
| PIRP | Irp, | ||
| LIST_ENTRY * | rollback | ||
| ) |
Definition at line 878 of file flushthread.c.
Referenced by allocate_tree_extents(), and snapshot_tree_copy().
|
static |
Definition at line 4402 of file flushthread.c.
Referenced by flush_fcb().
|
static |
Definition at line 825 of file flushthread.c.
Referenced by get_tree_new_address().
|
static |
Definition at line 709 of file flushthread.c.
Referenced by insert_tree_extent().
|
static |
Definition at line 4517 of file flushthread.c.
Referenced by delete_xattr(), drop_chunk(), flush_fcb(), flush_fileref(), insert_sparse_extent(), and set_xattr().
| bool is_tree_unique | ( | device_extension * | Vcb, |
| tree * | t, | ||
| PIRP | Irp | ||
| ) |
Definition at line 3243 of file flushthread.c.
Referenced by do_splits(), is_tree_unique(), and try_tree_amalgamate().
|
static |
Definition at line 5833 of file flushthread.c.
Referenced by flush_partial_stripe().
Definition at line 4629 of file flushthread.c.
Referenced by flush_fcb().
|
static |
Definition at line 956 of file flushthread.c.
Referenced by do_splits(), remove_root_extents(), try_tree_amalgamate(), and update_tree_extents().
|
static |
Definition at line 4138 of file flushthread.c.
Referenced by add_to_bootstrap(), and remove_from_bootstrap().
|
static |
Definition at line 4308 of file flushthread.c.
Referenced by drop_chunk().
|
static |
Definition at line 3874 of file flushthread.c.
Referenced by drop_root(), and remove_root_extents().
|
static |
Definition at line 4331 of file flushthread.c.
Referenced by flush_fcb().
|
static |
Definition at line 1081 of file flushthread.c.
Referenced by update_tree_extents().
|
static |
Definition at line 4438 of file flushthread.c.
Referenced by insert_tree_item_batch().
|
static |
Definition at line 3203 of file flushthread.c.
Referenced by do_splits().
|
static |
Definition at line 2984 of file flushthread.c.
Referenced by split_tree().
|
static |
Definition at line 7171 of file flushthread.c.
Referenced by do_write2().
|
static |
Definition at line 578 of file flushthread.c.
Referenced by do_write2().
|
static |
Definition at line 3306 of file flushthread.c.
Referenced by do_splits().
|
static |
Definition at line 2111 of file flushthread.c.
Referenced by write_superblocks().
|
static |
Definition at line 2810 of file flushthread.c.
Referenced by do_write2().
|
static |
Definition at line 6133 of file flushthread.c.
Referenced by do_write2().
| NTSTATUS update_dev_item | ( | device_extension * | Vcb, |
| device * | device, | ||
| PIRP | Irp | ||
| ) |
Definition at line 4093 of file flushthread.c.
Referenced by _Function_class_(), create_chunk(), and resize_device().
|
static |
Definition at line 3536 of file flushthread.c.
Referenced by do_splits().
|
static |
Definition at line 6402 of file flushthread.c.
Referenced by flush_fileref().
|
static |
Definition at line 1557 of file flushthread.c.
Referenced by do_write2().
|
static |
Definition at line 1110 of file flushthread.c.
Referenced by allocate_tree_extents(), remove_root_extents(), shared_tree_is_unique(), try_tree_amalgamate(), and update_tree_extents_recursive().
|
static |
Definition at line 3636 of file flushthread.c.
Referenced by do_splits(), and update_tree_extents_recursive().
| NTSTATUS write_data_phys | ( | _In_ PDEVICE_OBJECT | device, |
| _In_ PFILE_OBJECT | fileobj, | ||
| _In_ uint64_t | address, | ||
| _In_reads_bytes_(length) void * | data, | ||
| _In_ uint32_t | length | ||
| ) |
Definition at line 70 of file flushthread.c.
Referenced by add_device(), flush_partial_stripe(), read_data_dup(), read_data_raid10(), read_data_raid5(), read_data_raid6(), remove_superblocks(), scrub_chunk_raid56_stripe_run(), scrub_extent_dup(), and scrub_extent_raid10().
|
static |
Definition at line 2231 of file flushthread.c.
Referenced by write_superblocks().
|
static |
Definition at line 2326 of file flushthread.c.
Referenced by do_write2().
|
static |
Definition at line 1826 of file flushthread.c.
Referenced by do_write2().