Lines Matching defs:ubifs_info
654 struct ubifs_info;
657 typedef int (*ubifs_lpt_scan_callback)(struct ubifs_info *c,
693 struct ubifs_info *c;
701 int (*sync_callback)(struct ubifs_info *c, int lnum, int free, int pad);
1017 * struct ubifs_info - UBIFS file-system description data structure
1190 * @infos_list: links all 'ubifs_info' objects
1280 struct ubifs_info {
1541 static inline int ubifs_authenticated(const struct ubifs_info *c)
1546 struct shash_desc *__ubifs_hash_get_desc(const struct ubifs_info *c);
1547 static inline struct shash_desc *ubifs_hash_get_desc(const struct ubifs_info *c)
1552 static inline int ubifs_shash_init(const struct ubifs_info *c,
1561 static inline int ubifs_shash_update(const struct ubifs_info *c,
1576 static inline int ubifs_shash_final(const struct ubifs_info *c,
1582 int __ubifs_node_calc_hash(const struct ubifs_info *c, const void *buf,
1584 static inline int ubifs_node_calc_hash(const struct ubifs_info *c,
1593 int ubifs_prepare_auth_node(struct ubifs_info *c, void *node,
1605 static inline int ubifs_check_hash(const struct ubifs_info *c,
1620 static inline int ubifs_check_hmac(const struct ubifs_info *c,
1627 void ubifs_bad_hash(const struct ubifs_info *c, const void *node,
1630 static inline void ubifs_bad_hash(const struct ubifs_info *c, const void *node,
1634 int __ubifs_node_check_hash(const struct ubifs_info *c, const void *buf,
1636 static inline int ubifs_node_check_hash(const struct ubifs_info *c,
1645 int ubifs_init_authentication(struct ubifs_info *c);
1646 void __ubifs_exit_authentication(struct ubifs_info *c);
1647 static inline void ubifs_exit_authentication(struct ubifs_info *c)
1661 static inline u8 *ubifs_branch_hash(struct ubifs_info *c,
1675 static inline void ubifs_copy_hash(const struct ubifs_info *c, const u8 *from,
1682 int __ubifs_node_insert_hmac(const struct ubifs_info *c, void *buf,
1684 static inline int ubifs_node_insert_hmac(const struct ubifs_info *c, void *buf,
1693 int __ubifs_node_verify_hmac(const struct ubifs_info *c, const void *buf,
1695 static inline int ubifs_node_verify_hmac(const struct ubifs_info *c,
1712 static inline int ubifs_auth_node_sz(const struct ubifs_info *c)
1719 int ubifs_sb_verify_signature(struct ubifs_info *c,
1721 bool ubifs_hmac_zero(struct ubifs_info *c, const u8 *hmac);
1723 int ubifs_hmac_wkm(struct ubifs_info *c, u8 *hmac);
1725 int __ubifs_shash_copy_state(const struct ubifs_info *c, struct shash_desc *src,
1727 static inline int ubifs_shash_copy_state(const struct ubifs_info *c,
1738 void ubifs_ro_mode(struct ubifs_info *c, int err);
1739 int ubifs_leb_read(const struct ubifs_info *c, int lnum, void *buf, int offs,
1741 int ubifs_leb_write(struct ubifs_info *c, int lnum, const void *buf, int offs,
1743 int ubifs_leb_change(struct ubifs_info *c, int lnum, const void *buf, int len);
1744 int ubifs_leb_unmap(struct ubifs_info *c, int lnum);
1745 int ubifs_leb_map(struct ubifs_info *c, int lnum);
1746 int ubifs_is_mapped(const struct ubifs_info *c, int lnum);
1749 int ubifs_wbuf_init(struct ubifs_info *c, struct ubifs_wbuf *wbuf);
1750 int ubifs_read_node(const struct ubifs_info *c, void *buf, int type, int len,
1754 int ubifs_write_node(struct ubifs_info *c, void *node, int len, int lnum,
1756 int ubifs_write_node_hmac(struct ubifs_info *c, void *buf, int len, int lnum,
1758 int ubifs_check_node(const struct ubifs_info *c, const void *buf, int len,
1760 void ubifs_init_node(struct ubifs_info *c, void *buf, int len, int pad);
1761 void ubifs_crc_node(struct ubifs_info *c, void *buf, int len);
1762 void ubifs_prepare_node(struct ubifs_info *c, void *buf, int len, int pad);
1763 int ubifs_prepare_node_hmac(struct ubifs_info *c, void *node, int len,
1765 void ubifs_prep_grp_node(struct ubifs_info *c, void *node, int len, int last);
1766 int ubifs_io_init(struct ubifs_info *c);
1767 void ubifs_pad(const struct ubifs_info *c, void *buf, int pad);
1769 int ubifs_bg_wbufs_sync(struct ubifs_info *c);
1771 int ubifs_sync_wbufs_by_inode(struct ubifs_info *c, struct inode *inode);
1774 struct ubifs_scan_leb *ubifs_scan(const struct ubifs_info *c, int lnum,
1777 int ubifs_scan_a_node(const struct ubifs_info *c, void *buf, int len, int lnum,
1779 struct ubifs_scan_leb *ubifs_start_scan(const struct ubifs_info *c, int lnum,
1781 void ubifs_end_scan(const struct ubifs_info *c, struct ubifs_scan_leb *sleb,
1783 int ubifs_add_snod(const struct ubifs_info *c, struct ubifs_scan_leb *sleb,
1785 void ubifs_scanned_corruption(const struct ubifs_info *c, int lnum, int offs,
1789 void ubifs_add_bud(struct ubifs_info *c, struct ubifs_bud *bud);
1790 void ubifs_create_buds_lists(struct ubifs_info *c);
1791 int ubifs_add_bud_to_log(struct ubifs_info *c, int jhead, int lnum, int offs);
1792 struct ubifs_bud *ubifs_search_bud(struct ubifs_info *c, int lnum);
1793 struct ubifs_wbuf *ubifs_get_wbuf(struct ubifs_info *c, int lnum);
1794 int ubifs_log_start_commit(struct ubifs_info *c, int *ltail_lnum);
1795 int ubifs_log_end_commit(struct ubifs_info *c, int new_ltail_lnum);
1796 int ubifs_log_post_commit(struct ubifs_info *c, int old_ltail_lnum);
1797 int ubifs_consolidate_log(struct ubifs_info *c);
1800 int ubifs_jnl_update(struct ubifs_info *c, const struct inode *dir,
1803 int ubifs_jnl_write_data(struct ubifs_info *c, const struct inode *inode,
1805 int ubifs_jnl_write_inode(struct ubifs_info *c, const struct inode *inode);
1806 int ubifs_jnl_delete_inode(struct ubifs_info *c, const struct inode *inode);
1807 int ubifs_jnl_xrename(struct ubifs_info *c, const struct inode *fst_dir,
1813 int ubifs_jnl_rename(struct ubifs_info *c, const struct inode *old_dir,
1820 int ubifs_jnl_truncate(struct ubifs_info *c, const struct inode *inode,
1822 int ubifs_jnl_delete_xattr(struct ubifs_info *c, const struct inode *host,
1824 int ubifs_jnl_change_xattr(struct ubifs_info *c, const struct inode *inode1,
1828 int ubifs_budget_space(struct ubifs_info *c, struct ubifs_budget_req *req);
1829 void ubifs_release_budget(struct ubifs_info *c, struct ubifs_budget_req *req);
1830 void ubifs_release_dirty_inode_budget(struct ubifs_info *c,
1832 int ubifs_budget_inode_op(struct ubifs_info *c, struct inode *inode,
1834 void ubifs_release_ino_dirty(struct ubifs_info *c, struct inode *inode,
1836 void ubifs_cancel_ino_op(struct ubifs_info *c, struct inode *inode,
1838 long long ubifs_get_free_space(struct ubifs_info *c);
1839 long long ubifs_get_free_space_nolock(struct ubifs_info *c);
1840 int ubifs_calc_min_idx_lebs(struct ubifs_info *c);
1841 void ubifs_convert_page_budget(struct ubifs_info *c);
1842 long long ubifs_reported_space(const struct ubifs_info *c, long long free);
1843 long long ubifs_calc_available(const struct ubifs_info *c, int min_idx_lebs);
1846 int ubifs_find_free_space(struct ubifs_info *c, int min_space, int *offs,
1848 int ubifs_find_free_leb_for_idx(struct ubifs_info *c);
1849 int ubifs_find_dirty_leb(struct ubifs_info *c, struct ubifs_lprops *ret_lp,
1851 int ubifs_find_dirty_idx_leb(struct ubifs_info *c);
1852 int ubifs_save_dirty_idx_lnums(struct ubifs_info *c);
1855 int ubifs_lookup_level0(struct ubifs_info *c, const union ubifs_key *key,
1857 int ubifs_tnc_lookup_nm(struct ubifs_info *c, const union ubifs_key *key,
1859 int ubifs_tnc_lookup_dh(struct ubifs_info *c, const union ubifs_key *key,
1861 int ubifs_tnc_locate(struct ubifs_info *c, const union ubifs_key *key,
1863 int ubifs_tnc_add(struct ubifs_info *c, const union ubifs_key *key, int lnum,
1865 int ubifs_tnc_replace(struct ubifs_info *c, const union ubifs_key *key,
1867 int ubifs_tnc_add_nm(struct ubifs_info *c, const union ubifs_key *key,
1870 int ubifs_tnc_remove(struct ubifs_info *c, const union ubifs_key *key);
1871 int ubifs_tnc_remove_nm(struct ubifs_info *c, const union ubifs_key *key,
1873 int ubifs_tnc_remove_dh(struct ubifs_info *c, const union ubifs_key *key,
1875 int ubifs_tnc_remove_range(struct ubifs_info *c, union ubifs_key *from_key,
1877 int ubifs_tnc_remove_ino(struct ubifs_info *c, ino_t inum);
1878 struct ubifs_dent_node *ubifs_tnc_next_ent(struct ubifs_info *c,
1881 void ubifs_tnc_close(struct ubifs_info *c);
1882 int ubifs_tnc_has_node(struct ubifs_info *c, union ubifs_key *key, int level,
1884 int ubifs_dirty_idx_node(struct ubifs_info *c, union ubifs_key *key, int level,
1887 void destroy_old_idx(struct ubifs_info *c);
1888 int is_idx_node_in_tnc(struct ubifs_info *c, union ubifs_key *key, int level,
1890 int insert_old_idx_znode(struct ubifs_info *c, struct ubifs_znode *znode);
1891 int ubifs_tnc_get_bu_keys(struct ubifs_info *c, struct bu_info *bu);
1892 int ubifs_tnc_bulk_read(struct ubifs_info *c, struct bu_info *bu);
1895 struct ubifs_znode *ubifs_tnc_levelorder_next(const struct ubifs_info *c,
1898 int ubifs_search_zbranch(const struct ubifs_info *c,
1902 struct ubifs_znode *ubifs_tnc_postorder_next(const struct ubifs_info *c,
1904 long ubifs_destroy_tnc_subtree(const struct ubifs_info *c,
1906 struct ubifs_znode *ubifs_load_znode(struct ubifs_info *c,
1909 int ubifs_tnc_read_node(struct ubifs_info *c, struct ubifs_zbranch *zbr,
1913 int ubifs_tnc_start_commit(struct ubifs_info *c, struct ubifs_zbranch *zroot);
1914 int ubifs_tnc_end_commit(struct ubifs_info *c);
1924 void ubifs_commit_required(struct ubifs_info *c);
1925 void ubifs_request_bg_commit(struct ubifs_info *c);
1926 int ubifs_run_commit(struct ubifs_info *c);
1927 void ubifs_recovery_commit(struct ubifs_info *c);
1928 int ubifs_gc_should_commit(struct ubifs_info *c);
1929 void ubifs_wait_for_commit(struct ubifs_info *c);
1932 int ubifs_compare_master_node(struct ubifs_info *c, void *m1, void *m2);
1933 int ubifs_read_master(struct ubifs_info *c);
1934 int ubifs_write_master(struct ubifs_info *c);
1937 int ubifs_read_superblock(struct ubifs_info *c);
1938 int ubifs_write_sb_node(struct ubifs_info *c, struct ubifs_sb_node *sup);
1939 int ubifs_fixup_free_space(struct ubifs_info *c);
1940 int ubifs_enable_encryption(struct ubifs_info *c);
1943 int ubifs_validate_entry(struct ubifs_info *c,
1945 int ubifs_replay_journal(struct ubifs_info *c);
1948 int ubifs_garbage_collect(struct ubifs_info *c, int anyway);
1949 int ubifs_gc_start_commit(struct ubifs_info *c);
1950 int ubifs_gc_end_commit(struct ubifs_info *c);
1951 void ubifs_destroy_idx_gc(struct ubifs_info *c);
1952 int ubifs_get_idx_gc_leb(struct ubifs_info *c);
1953 int ubifs_garbage_collect_leb(struct ubifs_info *c, struct ubifs_lprops *lp);
1956 int ubifs_add_orphan(struct ubifs_info *c, ino_t inum);
1957 void ubifs_delete_orphan(struct ubifs_info *c, ino_t inum);
1958 int ubifs_orphan_start_commit(struct ubifs_info *c);
1959 int ubifs_orphan_end_commit(struct ubifs_info *c);
1960 int ubifs_mount_orphans(struct ubifs_info *c, int unclean, int read_only);
1961 int ubifs_clear_orphans(struct ubifs_info *c);
1964 int ubifs_calc_lpt_geom(struct ubifs_info *c);
1965 int ubifs_create_dflt_lpt(struct ubifs_info *c, int *main_lebs, int lpt_first,
1967 int ubifs_lpt_init(struct ubifs_info *c, int rd, int wr);
1968 struct ubifs_lprops *ubifs_lpt_lookup(struct ubifs_info *c, int lnum);
1969 struct ubifs_lprops *ubifs_lpt_lookup_dirty(struct ubifs_info *c, int lnum);
1970 int ubifs_lpt_scan_nolock(struct ubifs_info *c, int start_lnum, int end_lnum,
1974 void ubifs_pack_lsave(struct ubifs_info *c, void *buf, int *lsave);
1975 void ubifs_pack_ltab(struct ubifs_info *c, void *buf,
1977 void ubifs_pack_pnode(struct ubifs_info *c, void *buf,
1979 void ubifs_pack_nnode(struct ubifs_info *c, void *buf,
1981 struct ubifs_pnode *ubifs_get_pnode(struct ubifs_info *c,
1983 struct ubifs_nnode *ubifs_get_nnode(struct ubifs_info *c,
1985 struct ubifs_pnode *ubifs_pnode_lookup(struct ubifs_info *c, int i);
1986 int ubifs_read_nnode(struct ubifs_info *c, struct ubifs_nnode *parent, int iip);
1987 void ubifs_add_lpt_dirt(struct ubifs_info *c, int lnum, int dirty);
1988 void ubifs_add_nnode_dirt(struct ubifs_info *c, struct ubifs_nnode *nnode);
1989 uint32_t ubifs_unpack_bits(const struct ubifs_info *c, uint8_t **addr, int *pos, int nrbits);
1990 struct ubifs_nnode *ubifs_first_nnode(struct ubifs_info *c, int *hght);
1992 int ubifs_unpack_nnode(const struct ubifs_info *c, void *buf,
1994 int ubifs_lpt_calc_hash(struct ubifs_info *c, u8 *hash);
1997 int ubifs_lpt_start_commit(struct ubifs_info *c);
1998 int ubifs_lpt_end_commit(struct ubifs_info *c);
1999 int ubifs_lpt_post_commit(struct ubifs_info *c);
2000 void ubifs_lpt_free(struct ubifs_info *c, int wr_only);
2003 const struct ubifs_lprops *ubifs_change_lp(struct ubifs_info *c,
2007 void ubifs_get_lp_stats(struct ubifs_info *c, struct ubifs_lp_stats *lst);
2008 void ubifs_add_to_cat(struct ubifs_info *c, struct ubifs_lprops *lprops,
2010 void ubifs_replace_cat(struct ubifs_info *c, struct ubifs_lprops *old_lprops,
2012 void ubifs_ensure_cat(struct ubifs_info *c, struct ubifs_lprops *lprops);
2013 int ubifs_categorize_lprops(const struct ubifs_info *c,
2015 int ubifs_change_one_lp(struct ubifs_info *c, int lnum, int free, int dirty,
2017 int ubifs_update_one_lp(struct ubifs_info *c, int lnum, int free, int dirty,
2019 int ubifs_read_one_lp(struct ubifs_info *c, int lnum, struct ubifs_lprops *lp);
2020 const struct ubifs_lprops *ubifs_fast_find_free(struct ubifs_info *c);
2021 const struct ubifs_lprops *ubifs_fast_find_empty(struct ubifs_info *c);
2022 const struct ubifs_lprops *ubifs_fast_find_freeable(struct ubifs_info *c);
2023 const struct ubifs_lprops *ubifs_fast_find_frdi_idx(struct ubifs_info *c);
2024 int ubifs_calc_dark(const struct ubifs_info *c, int spc);
2033 struct inode *ubifs_new_inode(struct ubifs_info *c, struct inode *dir,
2048 void ubifs_evict_xattr_inode(struct ubifs_info *c, ino_t xattr_inum);
2053 static inline void ubifs_evict_xattr_inode(struct ubifs_info *c,
2077 int ubifs_recover_master_node(struct ubifs_info *c);
2078 int ubifs_write_rcvrd_mst_node(struct ubifs_info *c);
2079 struct ubifs_scan_leb *ubifs_recover_leb(struct ubifs_info *c, int lnum,
2081 struct ubifs_scan_leb *ubifs_recover_log_leb(struct ubifs_info *c, int lnum,
2083 int ubifs_recover_inl_heads(struct ubifs_info *c, void *sbuf);
2084 int ubifs_clean_lebs(struct ubifs_info *c, void *sbuf);
2085 int ubifs_rcvry_gc_commit(struct ubifs_info *c);
2086 int ubifs_recover_size_accum(struct ubifs_info *c, union ubifs_key *key,
2088 int ubifs_recover_size(struct ubifs_info *c, bool in_place);
2089 void ubifs_destroy_size_tree(struct ubifs_info *c);
2104 void ubifs_compress(const struct ubifs_info *c, const void *in_buf, int in_len,
2106 int ubifs_decompress(const struct ubifs_info *c, const void *buf, int len,
2112 int ubifs_sysfs_register(struct ubifs_info *c);
2113 void ubifs_sysfs_unregister(struct ubifs_info *c);
2125 struct ubifs_info *c = inode->i_sb->s_fs_info;
2133 struct ubifs_info *c = inode->i_sb->s_fs_info;
2149 void ubifs_msg(const struct ubifs_info *c, const char *fmt, ...);
2151 void ubifs_err(const struct ubifs_info *c, const char *fmt, ...);
2153 void ubifs_warn(const struct ubifs_info *c, const char *fmt, ...);