| H A D | dm-integrity.c | 114 #define journal_entry_tag(ic, je) ((__u8 *)&(je)->last_bytes[(ic)->sectors_per_block]) argument 320 struct dm_integrity_c *ic; 345 struct dm_integrity_c *ic; 357 struct dm_integrity_c *ic; 384 static void dm_integrity_io_error(struct dm_integrity_c *ic, const char *msg, int err) in dm_integrity_io_error() 387 atomic64_inc(&ic->number_of_mismatches); in dm_integrity_io_error() 388 if (!cmpxchg(&ic->failed, 0, err)) in dm_integrity_io_error() 392 static int dm_integrity_failed(struct dm_integrity_c *ic) in dm_integrity_failed() 394 return READ_ONCE(ic in dm_integrity_failed() 319 struct dm_integrity_c *ic; global() member 344 struct dm_integrity_c *ic; global() member 356 struct dm_integrity_c *ic; global() member 383 dm_integrity_io_error(struct dm_integrity_c * ic,const char * msg,int err) dm_integrity_io_error() argument 391 dm_integrity_failed(struct dm_integrity_c * ic) dm_integrity_failed() argument 396 dm_integrity_disable_recalculate(struct dm_integrity_c * ic) dm_integrity_disable_recalculate() argument 407 dm_integrity_commit_id(struct dm_integrity_c * ic,unsigned int i,unsigned int j,unsigned char seq) dm_integrity_commit_id() argument 417 get_area_and_offset(struct dm_integrity_c * ic,sector_t data_sector,sector_t * area,sector_t * offset) get_area_and_offset() argument 430 sector_to_block(ic,n) global() argument 436 get_metadata_sector_and_offset(struct dm_integrity_c * ic,sector_t area,sector_t offset,unsigned int * metadata_offset) get_metadata_sector_and_offset() argument 462 get_data_sector(struct dm_integrity_c * ic,sector_t area,sector_t offset) get_data_sector() argument 481 wraparound_section(struct dm_integrity_c * ic,unsigned int * sec_ptr) wraparound_section() argument 487 sb_set_version(struct dm_integrity_c * ic) sb_set_version() argument 505 sb_mac(struct dm_integrity_c * ic,bool wr) sb_mac() argument 545 sync_rw_sb(struct dm_integrity_c * ic,blk_opf_t opf) sync_rw_sb() argument 590 block_bitmap_op(struct dm_integrity_c * ic,struct page_list * bitmap,sector_t sector,sector_t n_sectors,int mode) block_bitmap_op() argument 696 block_bitmap_copy(struct dm_integrity_c * ic,struct page_list * dst,struct page_list * src) block_bitmap_copy() argument 709 sector_to_bitmap_block(struct dm_integrity_c * ic,sector_t sector) sector_to_bitmap_block() argument 718 access_journal_check(struct dm_integrity_c * ic,unsigned int section,unsigned int offset,bool e,const char * function) access_journal_check() argument 733 page_list_location(struct dm_integrity_c * ic,unsigned int section,unsigned int offset,unsigned int * pl_index,unsigned int * pl_offset) page_list_location() argument 746 access_page_list(struct dm_integrity_c * ic,struct page_list * pl,unsigned int section,unsigned int offset,unsigned int * n_sectors) access_page_list() argument 762 access_journal(struct dm_integrity_c * ic,unsigned int section,unsigned int offset) access_journal() argument 767 access_journal_entry(struct dm_integrity_c * ic,unsigned int section,unsigned int n) access_journal_entry() argument 781 access_journal_data(struct dm_integrity_c * ic,unsigned int section,unsigned int n) access_journal_data() argument 792 section_mac(struct dm_integrity_c * ic,unsigned int section,__u8 result[JOURNAL_MAC_SIZE]) section_mac() argument 862 rw_section_mac(struct dm_integrity_c * ic,unsigned int section,bool wr) rw_section_mac() argument 895 xor_journal(struct dm_integrity_c * ic,bool encrypt,unsigned int section,unsigned int n_sections,struct journal_completion * comp) xor_journal() argument 990 crypt_journal(struct dm_integrity_c * ic,bool encrypt,unsigned int section,unsigned int n_sections,struct journal_completion * comp) crypt_journal() argument 1034 encrypt_journal(struct dm_integrity_c * ic,bool encrypt,unsigned int section,unsigned int n_sections,struct journal_completion * comp) encrypt_journal() argument 1054 rw_journal_sectors(struct dm_integrity_c * ic,blk_opf_t opf,unsigned int sector,unsigned int n_sectors,struct journal_completion * comp) rw_journal_sectors() argument 1101 rw_journal(struct dm_integrity_c * ic,blk_opf_t opf,unsigned int section,unsigned int n_sections,struct journal_completion * comp) rw_journal() argument 1113 write_journal(struct dm_integrity_c * ic,unsigned int commit_start,unsigned int commit_sections) write_journal() argument 1176 copy_from_journal(struct dm_integrity_c * ic,unsigned int section,unsigned int offset,unsigned int n_sectors,sector_t target,io_notify_fn fn,void * data) copy_from_journal() argument 1220 add_new_range(struct dm_integrity_c * ic,struct dm_integrity_range * new_range,bool check_waiting) add_new_range() argument 1256 remove_range_unlocked(struct dm_integrity_c * ic,struct dm_integrity_range * range) remove_range_unlocked() argument 1276 remove_range(struct dm_integrity_c * ic,struct dm_integrity_range * range) remove_range() argument 1285 wait_and_add_new_range(struct dm_integrity_c * ic,struct dm_integrity_range * new_range) wait_and_add_new_range() argument 1298 add_new_range_and_wait(struct dm_integrity_c * ic,struct dm_integrity_range * new_range) add_new_range_and_wait() argument 1310 add_journal_node(struct dm_integrity_c * ic,struct journal_node * node,sector_t sector) add_journal_node() argument 1336 remove_journal_node(struct dm_integrity_c * ic,struct journal_node * node) remove_journal_node() argument 1345 find_journal_node(struct dm_integrity_c * ic,sector_t sector,sector_t * next_sector) find_journal_node() argument 1367 test_journal_node(struct dm_integrity_c * ic,unsigned int pos,sector_t sector) test_journal_node() argument 1388 find_newer_committed_node(struct dm_integrity_c * ic,struct journal_node * node) find_newer_committed_node() argument 1419 dm_integrity_rw_tag(struct dm_integrity_c * ic,unsigned char * tag,sector_t * metadata_block,unsigned int * metadata_offset,unsigned int total_size,int op) dm_integrity_rw_tag() argument 1499 struct dm_integrity_c *ic; global() member 1514 dm_integrity_flush_buffers(struct dm_integrity_c * ic,bool flush_data) dm_integrity_flush_buffers() argument 1545 sleep_on_endio_wait(struct dm_integrity_c * ic) sleep_on_endio_wait() argument 1559 struct dm_integrity_c *ic = timer_container_of(ic, t, autocommit_fn() local 1566 schedule_autocommit(struct dm_integrity_c * ic) schedule_autocommit() argument 1572 submit_flush_bio(struct dm_integrity_c * ic,struct dm_integrity_io * dio) submit_flush_bio() argument 1585 do_endio(struct dm_integrity_c * ic,struct bio * bio) do_endio() argument 1604 do_endio_flush(struct dm_integrity_c * ic,struct dm_integrity_io * dio) do_endio_flush() argument 1617 struct dm_integrity_c *ic = dio->ic; dec_in_flight() local 1653 integrity_sector_checksum_shash(struct dm_integrity_c * ic,sector_t sector,const char * data,unsigned offset,unsigned int len,char * result) integrity_sector_checksum_shash() argument 1709 integrity_sector_checksum_ahash(struct dm_integrity_c * ic,struct ahash_request ** ahash_req,sector_t sector,struct page * page,unsigned offset,unsigned int len,char * result) integrity_sector_checksum_ahash() argument 1776 integrity_sector_checksum(struct dm_integrity_c * ic,struct ahash_request ** ahash_req,sector_t sector,const char * data,unsigned offset,char * result) integrity_sector_checksum() argument 1794 integrity_discard_checksum(struct dm_integrity_c * ic,struct ahash_request ** ahash_req,sector_t sector,char * result) integrity_discard_checksum() argument 1803 integrity_discard_fill_tags(struct dm_integrity_c * ic,struct ahash_request ** ahash_req,unsigned char * checksums,sector_t * sector,unsigned int blocks) integrity_discard_fill_tags() argument 1815 integrity_kmap(struct dm_integrity_c * ic,struct page * p) integrity_kmap() argument 1823 integrity_kunmap(struct dm_integrity_c * ic,const void * ptr) integrity_kunmap() argument 1829 integrity_identity(struct dm_integrity_c * ic,void * data) integrity_identity() argument 1844 struct dm_integrity_c *ic = dio->ic; integrity_recheck_verify_tag() local 1867 struct dm_integrity_c *ic = dio->ic; integrity_recheck() local 1948 struct dm_integrity_c *ic = dio->ic; integrity_metadata() local 2093 dm_integrity_check_limits(struct dm_integrity_c * ic,sector_t logical_sector,struct bio * bio) dm_integrity_check_limits() argument 2124 struct dm_integrity_c *ic = ti->private; dm_integrity_map() local 2211 struct dm_integrity_c *ic = dio->ic; __journal_read_write() local 2353 struct dm_integrity_c *ic = dio->ic; dm_integrity_map_continue() local 2582 struct dm_integrity_c *ic = dio->ic; dm_integrity_map_inline() local 2701 struct dm_integrity_c *ic = dio->ic; dm_integrity_free_payload() local 2714 struct dm_integrity_c *ic = dio->ic; dm_integrity_inline_recheck() local 2785 dm_integrity_check(struct dm_integrity_c * ic,struct dm_integrity_io * dio) dm_integrity_check() argument 2814 struct dm_integrity_c *ic = dio->ic; dm_integrity_inline_async_check() local 2823 struct dm_integrity_c *ic = ti->private; dm_integrity_end_io() local 2852 struct dm_integrity_c *ic = dio->ic; integrity_bio_wait() local 2875 pad_uncommitted(struct dm_integrity_c * ic) pad_uncommitted() argument 2898 struct dm_integrity_c *ic = container_of(w, struct dm_integrity_c, commit_work); integrity_commit() local 2973 struct dm_integrity_c *ic = comp->ic; complete_copy_from_journal() local 2984 restore_last_bytes(struct dm_integrity_c * ic,struct journal_sector * js,struct journal_entry * je) restore_last_bytes() argument 2995 do_journal_write(struct dm_integrity_c * ic,unsigned int write_start,unsigned int write_sections,bool from_replay) do_journal_write() argument 3146 struct dm_integrity_c *ic = container_of(w, struct dm_integrity_c, writer_work); integrity_writer() local 3174 recalc_write_super(struct dm_integrity_c * ic) recalc_write_super() argument 3189 struct dm_integrity_c *ic = container_of(w, struct dm_integrity_c, recalc_work); integrity_recalc() local 3356 struct dm_integrity_c *ic = container_of(w, struct dm_integrity_c, recalc_work); integrity_recalc_inline() local 3491 struct dm_integrity_c *ic = bbs->ic; bitmap_block_work() local 3543 struct dm_integrity_c *ic = container_of(work, struct dm_integrity_c, bitmap_flush_work.work); bitmap_flush_work() local 3583 init_journal(struct dm_integrity_c * ic,unsigned int start_section,unsigned int n_sections,unsigned char commit_seq) init_journal() argument 3611 find_commit_seq(struct dm_integrity_c * ic,unsigned int i,unsigned int j,commit_id_t id) find_commit_seq() argument 3623 replay_journal(struct dm_integrity_c * ic) replay_journal() argument 3787 dm_integrity_enter_synchronous_mode(struct dm_integrity_c * ic) dm_integrity_enter_synchronous_mode() argument 3803 struct dm_integrity_c *ic = container_of(n, struct dm_integrity_c, reboot_notifier); dm_integrity_reboot() local 3814 struct dm_integrity_c *ic = ti->private; dm_integrity_postsuspend() local 3863 struct dm_integrity_c *ic = ti->private; dm_integrity_resume() local 4006 struct dm_integrity_c *ic = ti->private; dm_integrity_status() local 4122 struct dm_integrity_c *ic = ti->private; dm_integrity_iterate_devices() local 4132 struct dm_integrity_c *ic = ti->private; dm_integrity_io_hints() local 4155 calculate_journal_section_size(struct dm_integrity_c * ic) calculate_journal_section_size() argument 4171 calculate_device_limits(struct dm_integrity_c * ic) calculate_device_limits() argument 4220 get_provided_data_sectors(struct dm_integrity_c * ic) get_provided_data_sectors() argument 4239 initialize_superblock(struct dm_integrity_c * ic,unsigned int journal_sectors,unsigned int interleave_sectors) initialize_superblock() argument 4354 dm_integrity_free_journal_scatterlist(struct dm_integrity_c * ic,struct scatterlist ** sl) dm_integrity_free_journal_scatterlist() argument 4363 dm_integrity_alloc_journal_scatterlist(struct dm_integrity_c * ic,struct page_list * pl) dm_integrity_alloc_journal_scatterlist() argument 4504 create_journal(struct dm_integrity_c * ic,char ** error) create_journal() argument 4769 struct dm_integrity_c *ic; dm_integrity_ctr() local 5468 struct dm_integrity_c *ic = ti->private; dm_integrity_dtr() local [all...] |