dm_integrity_c
static void encrypt_journal(struct dm_integrity_c *ic, bool encrypt, unsigned int section,
static void rw_journal_sectors(struct dm_integrity_c *ic, blk_opf_t opf,
static void rw_journal(struct dm_integrity_c *ic, blk_opf_t opf,
static void write_journal(struct dm_integrity_c *ic, unsigned int commit_start, unsigned int commit_sections)
static void copy_from_journal(struct dm_integrity_c *ic, unsigned int section, unsigned int offset,
static bool add_new_range(struct dm_integrity_c *ic, struct dm_integrity_range *new_range, bool check_waiting)
static void remove_range_unlocked(struct dm_integrity_c *ic, struct dm_integrity_range *range)
static void remove_range(struct dm_integrity_c *ic, struct dm_integrity_range *range)
static void wait_and_add_new_range(struct dm_integrity_c *ic, struct dm_integrity_range *new_range)
static void add_new_range_and_wait(struct dm_integrity_c *ic, struct dm_integrity_range *new_range)
static void add_journal_node(struct dm_integrity_c *ic, struct journal_node *node, sector_t sector)
static void remove_journal_node(struct dm_integrity_c *ic, struct journal_node *node)
static unsigned int find_journal_node(struct dm_integrity_c *ic, sector_t sector, sector_t *next_sector)
static bool test_journal_node(struct dm_integrity_c *ic, unsigned int pos, sector_t sector)
static bool find_newer_committed_node(struct dm_integrity_c *ic, struct journal_node *node)
static int dm_integrity_rw_tag(struct dm_integrity_c *ic, unsigned char *tag, sector_t *metadata_block,
struct dm_integrity_c *ic;
static void dm_integrity_flush_buffers(struct dm_integrity_c *ic, bool flush_data)
static void sleep_on_endio_wait(struct dm_integrity_c *ic)
struct dm_integrity_c *ic = timer_container_of(ic, t,
static void schedule_autocommit(struct dm_integrity_c *ic)
static void submit_flush_bio(struct dm_integrity_c *ic, struct dm_integrity_io *dio)
static void do_endio(struct dm_integrity_c *ic, struct bio *bio)
static void do_endio_flush(struct dm_integrity_c *ic, struct dm_integrity_io *dio)
struct dm_integrity_c *ic = dio->ic;
static void integrity_sector_checksum_shash(struct dm_integrity_c *ic, sector_t sector,
static void integrity_sector_checksum_ahash(struct dm_integrity_c *ic, struct ahash_request **ahash_req,
static void integrity_sector_checksum(struct dm_integrity_c *ic, struct ahash_request **ahash_req,
static void *integrity_kmap(struct dm_integrity_c *ic, struct page *p)
static void integrity_kunmap(struct dm_integrity_c *ic, const void *ptr)
static void *integrity_identity(struct dm_integrity_c *ic, void *data)
struct dm_integrity_c *ic = dio->ic;
struct dm_integrity_c *ic = dio->ic;
static inline bool dm_integrity_check_limits(struct dm_integrity_c *ic, sector_t logical_sector, struct bio *bio)
struct dm_integrity_c *ic = ti->private;
struct dm_integrity_c *ic = dio->ic;
struct dm_integrity_c *ic = dio->ic;
struct dm_integrity_c *ic = dio->ic;
struct dm_integrity_c *ic = dio->ic;
struct dm_integrity_c *ic = dio->ic;
static inline bool dm_integrity_check(struct dm_integrity_c *ic, struct dm_integrity_io *dio)
struct dm_integrity_c *ic = dio->ic;
struct dm_integrity_c *ic = ti->private;
struct dm_integrity_c *ic = dio->ic;
static void pad_uncommitted(struct dm_integrity_c *ic)
struct dm_integrity_c *ic = container_of(w, struct dm_integrity_c, commit_work);
struct dm_integrity_c *ic = comp->ic;
static void restore_last_bytes(struct dm_integrity_c *ic, struct journal_sector *js,
static void do_journal_write(struct dm_integrity_c *ic, unsigned int write_start,
struct dm_integrity_c *ic = container_of(w, struct dm_integrity_c, writer_work);
static void recalc_write_super(struct dm_integrity_c *ic)
struct dm_integrity_c *ic = container_of(w, struct dm_integrity_c, recalc_work);
struct dm_integrity_c *ic;
struct dm_integrity_c *ic = container_of(w, struct dm_integrity_c, recalc_work);
struct dm_integrity_c *ic;
struct dm_integrity_c *ic = bbs->ic;
struct dm_integrity_c *ic = container_of(work, struct dm_integrity_c, bitmap_flush_work.work);
static void init_journal(struct dm_integrity_c *ic, unsigned int start_section,
struct dm_integrity_c *ic;
static int find_commit_seq(struct dm_integrity_c *ic, unsigned int i, unsigned int j, commit_id_t id)
static void replay_journal(struct dm_integrity_c *ic)
static void dm_integrity_enter_synchronous_mode(struct dm_integrity_c *ic)
struct dm_integrity_c *ic = container_of(n, struct dm_integrity_c, reboot_notifier);
struct dm_integrity_c *ic = ti->private;
struct dm_integrity_c *ic = ti->private;
static void dm_integrity_io_error(struct dm_integrity_c *ic, const char *msg, int err)
static int dm_integrity_failed(struct dm_integrity_c *ic)
struct dm_integrity_c *ic = ti->private;
static bool dm_integrity_disable_recalculate(struct dm_integrity_c *ic)
struct dm_integrity_c *ic = ti->private;
static commit_id_t dm_integrity_commit_id(struct dm_integrity_c *ic, unsigned int i,
struct dm_integrity_c *ic = ti->private;
static void calculate_journal_section_size(struct dm_integrity_c *ic)
static int calculate_device_limits(struct dm_integrity_c *ic)
static void get_provided_data_sectors(struct dm_integrity_c *ic)
static void get_area_and_offset(struct dm_integrity_c *ic, sector_t data_sector,
static int initialize_superblock(struct dm_integrity_c *ic,
static void dm_integrity_free_journal_scatterlist(struct dm_integrity_c *ic, struct scatterlist **sl)
static struct scatterlist **dm_integrity_alloc_journal_scatterlist(struct dm_integrity_c *ic,
static __u64 get_metadata_sector_and_offset(struct dm_integrity_c *ic, sector_t area,
static int create_journal(struct dm_integrity_c *ic, char **error)
static sector_t get_data_sector(struct dm_integrity_c *ic, sector_t area, sector_t offset)
struct dm_integrity_c *ic;
ic = kzalloc_obj(struct dm_integrity_c);
static void wraparound_section(struct dm_integrity_c *ic, unsigned int *sec_ptr)
static void sb_set_version(struct dm_integrity_c *ic)
static int sb_mac(struct dm_integrity_c *ic, bool wr)
struct dm_integrity_c *ic = ti->private;
static int sync_rw_sb(struct dm_integrity_c *ic, blk_opf_t opf)
static bool block_bitmap_op(struct dm_integrity_c *ic, struct page_list *bitmap,
static void block_bitmap_copy(struct dm_integrity_c *ic, struct page_list *dst, struct page_list *src)
static struct bitmap_block_status *sector_to_bitmap_block(struct dm_integrity_c *ic, sector_t sector)
static void access_journal_check(struct dm_integrity_c *ic, unsigned int section, unsigned int offset,
static void page_list_location(struct dm_integrity_c *ic, unsigned int section, unsigned int offset,
static struct journal_sector *access_page_list(struct dm_integrity_c *ic, struct page_list *pl,
static struct journal_sector *access_journal(struct dm_integrity_c *ic, unsigned int section, unsigned int offset)
static struct journal_entry *access_journal_entry(struct dm_integrity_c *ic, unsigned int section, unsigned int n)
static struct journal_sector *access_journal_data(struct dm_integrity_c *ic, unsigned int section, unsigned int n)
static void section_mac(struct dm_integrity_c *ic, unsigned int section, __u8 result[JOURNAL_MAC_SIZE])
static void rw_section_mac(struct dm_integrity_c *ic, unsigned int section, bool wr)
static void xor_journal(struct dm_integrity_c *ic, bool encrypt, unsigned int section,
static void crypt_journal(struct dm_integrity_c *ic, bool encrypt, unsigned int section,