jffs2_sb_info
void jffs2_garbage_collect_trigger(struct jffs2_sb_info *c)
int jffs2_start_garbage_collect_thread(struct jffs2_sb_info *c)
void jffs2_stop_garbage_collect_thread(struct jffs2_sb_info *c)
struct jffs2_sb_info *c = _c;
static void jffs2_build_remove_unlinked_inode(struct jffs2_sb_info *,
static void jffs2_build_remove_unlinked_inode(struct jffs2_sb_info *c,
first_inode_chain(int *i, struct jffs2_sb_info *c)
static void jffs2_calc_trigger_levels(struct jffs2_sb_info *c)
next_inode(int *i, struct jffs2_inode_cache *ic, struct jffs2_sb_info *c)
int jffs2_do_mount_fs(struct jffs2_sb_info *c)
static void jffs2_build_inode_pass1(struct jffs2_sb_info *c,
static int jffs2_build_filesystem(struct jffs2_sb_info *c)
uint16_t jffs2_compress(struct jffs2_sb_info *c, struct jffs2_inode_info *f,
int jffs2_decompress(struct jffs2_sb_info *c, struct jffs2_inode_info *f,
uint16_t jffs2_compress(struct jffs2_sb_info *c, struct jffs2_inode_info *f,
int jffs2_decompress(struct jffs2_sb_info *c, struct jffs2_inode_info *f,
__jffs2_dbg_prewrite_paranoia_check(struct jffs2_sb_info *c,
static void __jffs2_dbg_superblock_counts(struct jffs2_sb_info *c)
__jffs2_dbg_acct_sanity_check_nolock(struct jffs2_sb_info *c,
__jffs2_dbg_acct_paranoia_check(struct jffs2_sb_info *c,
__jffs2_dbg_acct_paranoia_check_nolock(struct jffs2_sb_info *c,
__jffs2_dbg_dump_node_refs(struct jffs2_sb_info *c,
__jffs2_dbg_dump_node_refs_nolock(struct jffs2_sb_info *c,
__jffs2_dbg_dump_jeb(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb)
__jffs2_dbg_dump_block_lists(struct jffs2_sb_info *c)
__jffs2_dbg_dump_block_lists_nolock(struct jffs2_sb_info *c)
__jffs2_dbg_acct_sanity_check(struct jffs2_sb_info *c,
__jffs2_dbg_dump_node(struct jffs2_sb_info *c, uint32_t ofs)
__jffs2_dbg_acct_sanity_check_nolock(struct jffs2_sb_info *c,
__jffs2_dbg_acct_sanity_check(struct jffs2_sb_info *c,
__jffs2_dbg_acct_paranoia_check(struct jffs2_sb_info *c,
__jffs2_dbg_acct_paranoia_check_nolock(struct jffs2_sb_info *c,
__jffs2_dbg_prewrite_paranoia_check(struct jffs2_sb_info *c,
__jffs2_dbg_dump_jeb(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb);
__jffs2_dbg_dump_block_lists(struct jffs2_sb_info *c);
__jffs2_dbg_dump_block_lists_nolock(struct jffs2_sb_info *c);
__jffs2_dbg_dump_node_refs(struct jffs2_sb_info *c,
__jffs2_dbg_dump_node_refs_nolock(struct jffs2_sb_info *c,
__jffs2_dbg_dump_node(struct jffs2_sb_info *c, uint32_t ofs);
struct jffs2_sb_info *c;
struct jffs2_sb_info *c = JFFS2_SB_INFO(dir_i->i_sb);
struct jffs2_sb_info *c = JFFS2_SB_INFO(old_dentry->d_sb);
struct jffs2_sb_info *c;
struct jffs2_sb_info *c;
struct jffs2_sb_info *c = JFFS2_SB_INFO(dir_i->i_sb);
struct jffs2_sb_info *c;
struct jffs2_sb_info *c = JFFS2_SB_INFO(old_dir_i->i_sb);
static void jffs2_erase_succeeded(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb)
static void jffs2_erase_failed(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb, uint32_t bad_offset)
static inline void jffs2_remove_node_refs_from_ino_list(struct jffs2_sb_info *c,
static void jffs2_erase_failed(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb, uint32_t bad_offset);
static void jffs2_erase_succeeded(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb);
static void jffs2_mark_erased_block(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb);
static void jffs2_erase_block(struct jffs2_sb_info *c,
void jffs2_free_jeb_node_refs(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb)
static int jffs2_block_check_erase(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb, uint32_t *bad_offset)
static void jffs2_mark_erased_block(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb)
int jffs2_erase_pending_blocks(struct jffs2_sb_info *c, int count)
struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb);
struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb);
struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb);
struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb);
struct jffs2_sb_info *c = JFFS2_SB_INFO(dentry->d_sb);
struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb);
struct jffs2_sb_info *c;
static int jffs2_flash_setup(struct jffs2_sb_info *c);
struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb);
struct jffs2_sb_info *c = JFFS2_SB_INFO(sb);
struct jffs2_sb_info *c;
struct jffs2_sb_info *c;
void jffs2_gc_release_inode(struct jffs2_sb_info *c,
struct jffs2_inode_info *jffs2_gc_fetch_inode(struct jffs2_sb_info *c,
static int jffs2_flash_setup(struct jffs2_sb_info *c) {
void jffs2_flash_cleanup(struct jffs2_sb_info *c) {
static int jffs2_garbage_collect_hole(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
static int jffs2_garbage_collect_dnode(struct jffs2_sb_info *c, struct jffs2_eraseblock *orig_jeb,
int jffs2_garbage_collect_pass(struct jffs2_sb_info *c)
static int jffs2_garbage_collect_pristine(struct jffs2_sb_info *c,
static int jffs2_garbage_collect_metadata(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
static int jffs2_garbage_collect_dirent(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
static int jffs2_garbage_collect_deletion_dirent(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
static int jffs2_garbage_collect_hole(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
static int jffs2_garbage_collect_dnode(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
static int jffs2_garbage_collect_live(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
static struct jffs2_eraseblock *jffs2_find_gc_block(struct jffs2_sb_info *c)
static int jffs2_garbage_collect_live(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
static int jffs2_garbage_collect_pristine(struct jffs2_sb_info *c,
static int jffs2_garbage_collect_metadata(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
static int jffs2_garbage_collect_dirent(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
static int jffs2_garbage_collect_deletion_dirent(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
int jffs2_prealloc_raw_node_refs(struct jffs2_sb_info *c,
static void jffs2_obsolete_node_frag(struct jffs2_sb_info *c,
static int no_overlapping_node(struct jffs2_sb_info *c, struct rb_root *root,
static int jffs2_add_frag_to_fragtree(struct jffs2_sb_info *c, struct rb_root *root, struct jffs2_node_frag *newfrag)
static void jffs2_obsolete_node_frag(struct jffs2_sb_info *c,
void jffs2_add_fd_to_list(struct jffs2_sb_info *c, struct jffs2_full_dirent *new, struct jffs2_full_dirent **list)
int jffs2_add_full_dnode_to_inode(struct jffs2_sb_info *c, struct jffs2_inode_info *f, struct jffs2_full_dnode *fn)
void jffs2_set_inocache_state(struct jffs2_sb_info *c, struct jffs2_inode_cache *ic, int state)
struct jffs2_inode_cache *jffs2_get_ino_cache(struct jffs2_sb_info *c, uint32_t ino)
void jffs2_add_ino_cache (struct jffs2_sb_info *c, struct jffs2_inode_cache *new)
void jffs2_del_ino_cache(struct jffs2_sb_info *c, struct jffs2_inode_cache *old)
void jffs2_free_ino_caches(struct jffs2_sb_info *c)
void jffs2_free_raw_node_refs(struct jffs2_sb_info *c)
void jffs2_kill_fragtree(struct rb_root *root, struct jffs2_sb_info *c)
struct jffs2_raw_node_ref *jffs2_link_node_ref(struct jffs2_sb_info *c,
uint32_t jffs2_truncate_fragtree(struct jffs2_sb_info *c, struct rb_root *list, uint32_t size)
int jffs2_scan_dirty_space(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
static inline uint32_t __ref_totlen(struct jffs2_sb_info *c,
uint32_t __jffs2_ref_totlen(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
static inline int jffs2_blocks_use_vmalloc(struct jffs2_sb_info *c)
void jffs2_add_fd_to_list(struct jffs2_sb_info *c, struct jffs2_full_dirent *new, struct jffs2_full_dirent **list);
void jffs2_set_inocache_state(struct jffs2_sb_info *c, struct jffs2_inode_cache *ic, int state);
struct jffs2_inode_cache *jffs2_get_ino_cache(struct jffs2_sb_info *c, uint32_t ino);
void jffs2_add_ino_cache (struct jffs2_sb_info *c, struct jffs2_inode_cache *new);
void jffs2_del_ino_cache(struct jffs2_sb_info *c, struct jffs2_inode_cache *old);
void jffs2_free_ino_caches(struct jffs2_sb_info *c);
void jffs2_free_raw_node_refs(struct jffs2_sb_info *c);
void jffs2_kill_fragtree(struct rb_root *root, struct jffs2_sb_info *c_delete);
int jffs2_add_full_dnode_to_inode(struct jffs2_sb_info *c, struct jffs2_inode_info *f, struct jffs2_full_dnode *fn);
uint32_t jffs2_truncate_fragtree (struct jffs2_sb_info *c, struct rb_root *list, uint32_t size);
struct jffs2_raw_node_ref *jffs2_link_node_ref(struct jffs2_sb_info *c,
extern uint32_t __jffs2_ref_totlen(struct jffs2_sb_info *c,
int jffs2_thread_should_wake(struct jffs2_sb_info *c);
int jffs2_reserve_space(struct jffs2_sb_info *c, uint32_t minsize,
int jffs2_reserve_space_gc(struct jffs2_sb_info *c, uint32_t minsize,
struct jffs2_raw_node_ref *jffs2_add_physical_node_ref(struct jffs2_sb_info *c,
void jffs2_complete_reservation(struct jffs2_sb_info *c);
void jffs2_mark_node_obsolete(struct jffs2_sb_info *c, struct jffs2_raw_node_ref *raw);
int jffs2_do_new_inode(struct jffs2_sb_info *c, struct jffs2_inode_info *f, uint32_t mode, struct jffs2_raw_inode *ri);
struct jffs2_full_dnode *jffs2_write_dnode(struct jffs2_sb_info *c, struct jffs2_inode_info *f,
struct jffs2_full_dirent *jffs2_write_dirent(struct jffs2_sb_info *c, struct jffs2_inode_info *f,
int jffs2_write_inode_range(struct jffs2_sb_info *c, struct jffs2_inode_info *f,
int jffs2_do_create(struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f, struct jffs2_inode_info *f,
int jffs2_do_unlink(struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f, const char *name,
int jffs2_do_link(struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f, uint32_t ino,
int jffs2_do_read_inode(struct jffs2_sb_info *c, struct jffs2_inode_info *f,
int jffs2_do_crccheck_inode(struct jffs2_sb_info *c, struct jffs2_inode_cache *ic);
void jffs2_do_clear_inode(struct jffs2_sb_info *c, struct jffs2_inode_info *f);
int jffs2_prealloc_raw_node_refs(struct jffs2_sb_info *c,
int jffs2_garbage_collect_pass(struct jffs2_sb_info *c);
int jffs2_read_dnode(struct jffs2_sb_info *c, struct jffs2_inode_info *f,
int jffs2_read_inode_range(struct jffs2_sb_info *c, struct jffs2_inode_info *f,
char *jffs2_getlink(struct jffs2_sb_info *c, struct jffs2_inode_info *f);
int jffs2_scan_medium(struct jffs2_sb_info *c);
void jffs2_rotate_lists(struct jffs2_sb_info *c);
struct jffs2_inode_cache *jffs2_scan_make_ino_cache(struct jffs2_sb_info *c, uint32_t ino);
int jffs2_scan_classify_jeb(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb);
int jffs2_scan_dirty_space(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb, uint32_t size);
int jffs2_do_mount_fs(struct jffs2_sb_info *c);
int jffs2_erase_pending_blocks(struct jffs2_sb_info *c, int count);
void jffs2_free_jeb_node_refs(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb);
int jffs2_flush_wbuf_gc(struct jffs2_sb_info *c, uint32_t ino);
int jffs2_flush_wbuf_pad(struct jffs2_sb_info *c);
int jffs2_check_nand_cleanmarker(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb);
int jffs2_write_nand_cleanmarker(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb);
int jffs2_reserve_space_gc(struct jffs2_sb_info *c, uint32_t minsize,
static void jffs2_close_nextblock(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb)
static int jffs2_rp_can_write(struct jffs2_sb_info *c)
static int jffs2_find_nextblock(struct jffs2_sb_info *c)
static int jffs2_do_reserve_space(struct jffs2_sb_info *c, uint32_t minsize,
struct jffs2_raw_node_ref *jffs2_add_physical_node_ref(struct jffs2_sb_info *c,
static int jffs2_do_reserve_space(struct jffs2_sb_info *c, uint32_t minsize,
void jffs2_complete_reservation(struct jffs2_sb_info *c)
void jffs2_mark_node_obsolete(struct jffs2_sb_info *c, struct jffs2_raw_node_ref *ref)
int jffs2_reserve_space(struct jffs2_sb_info *c, uint32_t minsize,
int jffs2_thread_should_wake(struct jffs2_sb_info *c)
int jffs2_flash_writev(struct jffs2_sb_info *c, const struct kvec *vecs, unsigned long count, loff_t to, size_t *retlen, uint32_t ino);
int jffs2_flash_write(struct jffs2_sb_info *c, loff_t ofs, size_t len, size_t *retlen, const u_char *buf);
int jffs2_flash_read(struct jffs2_sb_info *c, loff_t ofs, size_t len, size_t *retlen, u_char *buf);
int jffs2_check_oob_empty(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,int mode);
int jffs2_check_nand_cleanmarker(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb);
int jffs2_write_nand_cleanmarker(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb);
int jffs2_write_nand_badblock(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb, uint32_t bad_offset);
int jffs2_flush_wbuf_gc(struct jffs2_sb_info *c, uint32_t ino);
int jffs2_flush_wbuf_pad(struct jffs2_sb_info *c);
int jffs2_nand_flash_setup(struct jffs2_sb_info *c);
void jffs2_nand_flash_cleanup(struct jffs2_sb_info *c);
int jffs2_dataflash_setup(struct jffs2_sb_info *c);
void jffs2_dataflash_cleanup(struct jffs2_sb_info *c);
int jffs2_ubivol_setup(struct jffs2_sb_info *c);
void jffs2_ubivol_cleanup(struct jffs2_sb_info *c);
int jffs2_nor_wbuf_flash_setup(struct jffs2_sb_info *c);
void jffs2_nor_wbuf_flash_cleanup(struct jffs2_sb_info *c);
void jffs2_dirty_trigger(struct jffs2_sb_info *c);
int jffs2_start_garbage_collect_thread(struct jffs2_sb_info *c);
void jffs2_stop_garbage_collect_thread(struct jffs2_sb_info *c);
void jffs2_garbage_collect_trigger(struct jffs2_sb_info *c);
void jffs2_gc_release_inode(struct jffs2_sb_info *c,
struct jffs2_inode_info *jffs2_gc_fetch_inode(struct jffs2_sb_info *c,
unsigned char *jffs2_gc_fetch_page(struct jffs2_sb_info *c,
void jffs2_flash_cleanup(struct jffs2_sb_info *c);
int jffs2_flash_direct_writev(struct jffs2_sb_info *c, const struct kvec *vecs,
int jffs2_flash_direct_write(struct jffs2_sb_info *c, loff_t ofs, size_t len,
int jffs2_read_inode_range(struct jffs2_sb_info *c, struct jffs2_inode_info *f,
int jffs2_read_dnode(struct jffs2_sb_info *c, struct jffs2_inode_info *f,
static int jffs2_do_read_inode_internal(struct jffs2_sb_info *c,
int jffs2_do_read_inode(struct jffs2_sb_info *c, struct jffs2_inode_info *f,
int jffs2_do_crccheck_inode(struct jffs2_sb_info *c, struct jffs2_inode_cache *ic)
void jffs2_do_clear_inode(struct jffs2_sb_info *c, struct jffs2_inode_info *f)
static int check_tn_node(struct jffs2_sb_info *c, struct jffs2_tmp_dnode_info *tn)
static void jffs2_kill_tn(struct jffs2_sb_info *c, struct jffs2_tmp_dnode_info *tn)
static int jffs2_add_tn_to_tree(struct jffs2_sb_info *c,
static int check_node_data(struct jffs2_sb_info *c, struct jffs2_tmp_dnode_info *tn)
static int jffs2_build_inode_fragtree(struct jffs2_sb_info *c,
static inline int read_direntry(struct jffs2_sb_info *c, struct jffs2_raw_node_ref *ref,
static inline int read_dnode(struct jffs2_sb_info *c, struct jffs2_raw_node_ref *ref,
static inline int read_unknown(struct jffs2_sb_info *c, struct jffs2_raw_node_ref *ref, struct jffs2_unknown_node *un)
static int read_more(struct jffs2_sb_info *c, struct jffs2_raw_node_ref *ref,
static int jffs2_get_inode_nodes(struct jffs2_sb_info *c, struct jffs2_inode_info *f,
static int jffs2_scan_dirent_node(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
void jffs2_rotate_lists(struct jffs2_sb_info *c)
static int jffs2_fill_scan_buf(struct jffs2_sb_info *c, void *buf,
int jffs2_scan_classify_jeb(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb)
static int jffs2_scan_xattr_node(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
static int jffs2_scan_xref_node(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
static int jffs2_scan_eraseblock (struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
static int jffs2_scan_eraseblock (struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
static int jffs2_scan_inode_node(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
static int jffs2_scan_dirent_node(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
static inline int min_free(struct jffs2_sb_info *c)
static int file_dirty(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb)
int jffs2_scan_medium(struct jffs2_sb_info *c)
struct jffs2_inode_cache *jffs2_scan_make_ino_cache(struct jffs2_sb_info *c, uint32_t ino)
static int jffs2_scan_inode_node(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
void jffs2_sum_move_collected(struct jffs2_sb_info *c, struct jffs2_summary *s)
int jffs2_sum_add_kvec(struct jffs2_sb_info *c, const struct kvec *invecs,
int jffs2_sum_init(struct jffs2_sb_info *c)
static struct jffs2_raw_node_ref *sum_link_node_ref(struct jffs2_sb_info *c,
static int jffs2_sum_process_sum_data(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
void jffs2_sum_exit(struct jffs2_sb_info *c)
int jffs2_sum_scan_sumnode(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
static int jffs2_sum_write_data(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
int jffs2_sum_write_sumnode(struct jffs2_sb_info *c)
int jffs2_sum_init(struct jffs2_sb_info *c);
void jffs2_sum_exit(struct jffs2_sb_info *c);
void jffs2_sum_move_collected(struct jffs2_sb_info *c, struct jffs2_summary *s);
int jffs2_sum_add_kvec(struct jffs2_sb_info *c, const struct kvec *invecs,
int jffs2_sum_write_sumnode(struct jffs2_sb_info *c);
int jffs2_sum_scan_sumnode(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,
struct jffs2_sb_info *c = JFFS2_SB_INFO(sb);
struct jffs2_sb_info *c = fc->s_fs_info;
struct jffs2_sb_info *new_c = fc->s_fs_info;
struct jffs2_sb_info *c = JFFS2_SB_INFO(fc->root->d_sb);
struct jffs2_sb_info *c = sb->s_fs_info;
struct jffs2_sb_info *ctx;
ctx = kzalloc_obj(struct jffs2_sb_info);
struct jffs2_sb_info *c = JFFS2_SB_INFO(sb);
struct jffs2_sb_info *c = JFFS2_SB_INFO(sb);
struct jffs2_sb_info *c = JFFS2_SB_INFO(root->d_sb);
int jffs2_check_oob_empty(struct jffs2_sb_info *c,
int jffs2_check_nand_cleanmarker(struct jffs2_sb_info *c,
static inline void jffs2_refile_wbuf_blocks(struct jffs2_sb_info *c)
int jffs2_write_nand_cleanmarker(struct jffs2_sb_info *c,
int jffs2_write_nand_badblock(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb, uint32_t bad_offset)
static struct jffs2_sb_info *work_to_sb(struct work_struct *work)
return container_of(dwork, struct jffs2_sb_info, wbuf_dwork);
struct jffs2_sb_info *c = work_to_sb(work);
void jffs2_dirty_trigger(struct jffs2_sb_info *c)
int jffs2_nand_flash_setup(struct jffs2_sb_info *c)
void jffs2_nand_flash_cleanup(struct jffs2_sb_info *c)
int jffs2_dataflash_setup(struct jffs2_sb_info *c) {
void jffs2_dataflash_cleanup(struct jffs2_sb_info *c) {
int jffs2_nor_wbuf_flash_setup(struct jffs2_sb_info *c) {
void jffs2_nor_wbuf_flash_cleanup(struct jffs2_sb_info *c) {
int jffs2_ubivol_setup(struct jffs2_sb_info *c) {
void jffs2_ubivol_cleanup(struct jffs2_sb_info *c) {
static void jffs2_block_refile(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb, int allow_empty)
static struct jffs2_raw_node_ref **jffs2_incore_replace_raw(struct jffs2_sb_info *c,
static int jffs2_verify_write(struct jffs2_sb_info *c, unsigned char *buf,
static void jffs2_wbuf_recover(struct jffs2_sb_info *c)
static int jffs2_wbuf_pending_for_ino(struct jffs2_sb_info *c, uint32_t ino)
static int __jffs2_flush_wbuf(struct jffs2_sb_info *c, int pad)
static void jffs2_clear_wbuf_ino_list(struct jffs2_sb_info *c)
int jffs2_flush_wbuf_gc(struct jffs2_sb_info *c, uint32_t ino)
int jffs2_flush_wbuf_pad(struct jffs2_sb_info *c)
static size_t jffs2_fill_wbuf(struct jffs2_sb_info *c, const uint8_t *buf,
int jffs2_flash_writev(struct jffs2_sb_info *c, const struct kvec *invecs,
static void jffs2_wbuf_dirties_inode(struct jffs2_sb_info *c, uint32_t ino)
int jffs2_flash_write(struct jffs2_sb_info *c, loff_t ofs, size_t len,
int jffs2_flash_read(struct jffs2_sb_info *c, loff_t ofs, size_t len, size_t *retlen, u_char *buf)
struct jffs2_full_dirent *jffs2_write_dirent(struct jffs2_sb_info *c, struct jffs2_inode_info *f,
int jffs2_do_new_inode(struct jffs2_sb_info *c, struct jffs2_inode_info *f,
int jffs2_write_inode_range(struct jffs2_sb_info *c, struct jffs2_inode_info *f,
int jffs2_do_create(struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f,
int jffs2_do_unlink(struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f,
struct jffs2_full_dnode *jffs2_write_dnode(struct jffs2_sb_info *c, struct jffs2_inode_info *f,
int jffs2_do_link (struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f, uint32_t ino, uint8_t type, const char *name, int namelen, uint32_t time)
int jffs2_flash_direct_writev(struct jffs2_sb_info *c, const struct kvec *vecs,
int jffs2_flash_direct_write(struct jffs2_sb_info *c, loff_t ofs, size_t len,
static void reclaim_xattr_datum(struct jffs2_sb_info *c)
struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb);
struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb);
int jffs2_garbage_collect_xattr_datum(struct jffs2_sb_info *c, struct jffs2_xattr_datum *xd,
int jffs2_garbage_collect_xattr_ref(struct jffs2_sb_info *c, struct jffs2_xattr_ref *ref,
int jffs2_verify_xattr(struct jffs2_sb_info *c)
static int do_verify_xattr_datum(struct jffs2_sb_info *c, struct jffs2_xattr_datum *xd)
void jffs2_release_xattr_datum(struct jffs2_sb_info *c, struct jffs2_xattr_datum *xd)
void jffs2_release_xattr_ref(struct jffs2_sb_info *c, struct jffs2_xattr_ref *ref)
static int do_load_xattr_datum(struct jffs2_sb_info *c, struct jffs2_xattr_datum *xd)
static int load_xattr_datum(struct jffs2_sb_info *c, struct jffs2_xattr_datum *xd)
static int save_xattr_datum(struct jffs2_sb_info *c, struct jffs2_xattr_datum *xd)
static struct jffs2_xattr_datum *create_xattr_datum(struct jffs2_sb_info *c,
static void unrefer_xattr_datum(struct jffs2_sb_info *c, struct jffs2_xattr_datum *xd)
static int verify_xattr_ref(struct jffs2_sb_info *c, struct jffs2_xattr_ref *ref)
static int save_xattr_ref(struct jffs2_sb_info *c, struct jffs2_xattr_ref *ref)
static struct jffs2_xattr_ref *create_xattr_ref(struct jffs2_sb_info *c, struct jffs2_inode_cache *ic,
static void delete_xattr_ref(struct jffs2_sb_info *c, struct jffs2_xattr_ref *ref)
void jffs2_xattr_delete_inode(struct jffs2_sb_info *c, struct jffs2_inode_cache *ic)
void jffs2_xattr_free_inode(struct jffs2_sb_info *c, struct jffs2_inode_cache *ic)
static int check_xattr_ref_inode(struct jffs2_sb_info *c, struct jffs2_inode_cache *ic)
void jffs2_xattr_do_crccheck_inode(struct jffs2_sb_info *c, struct jffs2_inode_cache *ic)
void jffs2_init_xattr_subsystem(struct jffs2_sb_info *c)
static int is_xattr_datum_unchecked(struct jffs2_sb_info *c, struct jffs2_xattr_datum *xd)
static struct jffs2_xattr_datum *jffs2_find_xattr_datum(struct jffs2_sb_info *c, uint32_t xid)
void jffs2_clear_xattr_subsystem(struct jffs2_sb_info *c)
int jffs2_build_xattr_subsystem(struct jffs2_sb_info *c)
static void unload_xattr_datum(struct jffs2_sb_info *c, struct jffs2_xattr_datum *xd)
struct jffs2_xattr_datum *jffs2_setup_xattr_datum(struct jffs2_sb_info *c,
struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb);
extern void jffs2_init_xattr_subsystem(struct jffs2_sb_info *c);
extern int jffs2_build_xattr_subsystem(struct jffs2_sb_info *c);
extern void jffs2_clear_xattr_subsystem(struct jffs2_sb_info *c);
extern struct jffs2_xattr_datum *jffs2_setup_xattr_datum(struct jffs2_sb_info *c,
extern void jffs2_xattr_do_crccheck_inode(struct jffs2_sb_info *c, struct jffs2_inode_cache *ic);
extern void jffs2_xattr_delete_inode(struct jffs2_sb_info *c, struct jffs2_inode_cache *ic);
extern void jffs2_xattr_free_inode(struct jffs2_sb_info *c, struct jffs2_inode_cache *ic);
extern int jffs2_garbage_collect_xattr_datum(struct jffs2_sb_info *c, struct jffs2_xattr_datum *xd,
extern int jffs2_garbage_collect_xattr_ref(struct jffs2_sb_info *c, struct jffs2_xattr_ref *ref,
extern int jffs2_verify_xattr(struct jffs2_sb_info *c);
extern void jffs2_release_xattr_datum(struct jffs2_sb_info *c, struct jffs2_xattr_datum *xd);
extern void jffs2_release_xattr_ref(struct jffs2_sb_info *c, struct jffs2_xattr_ref *ref);