Lines Matching full:struct

44 struct dentry;
45 struct file;
46 struct iattr;
47 struct kstat;
48 struct vfsmount;
50 extern struct super_block *ubifs_sb;
59 * We "simulate" the Linux page struct much simpler here
61 struct page {
64 struct inode *inode;
67 void iput(struct inode *inode);
72 #define CURRENT_TIME_SEC ((struct timespec) { get_seconds(), 0 })
74 struct timespec {
79 static struct timespec current_fs_time(struct super_block *sb) in current_fs_time()
81 struct timespec now; in current_fs_time()
96 struct qstr {
120 struct sb_writers {
123 struct percpu_counter counter[SB_FREEZE_LEVELS];
131 struct lockdep_map lock_map[SB_FREEZE_LEVELS];
135 struct address_space {
136 struct inode *host; /* owner: inode, block_device */
138 struct radix_tree_root page_tree; /* radix tree of all pages */
142 struct rb_root i_mmap; /* tree of private and shared mappings */
143 struct list_head i_mmap_nonlinear;/*list VM_NONLINEAR mappings */
144 struct mutex i_mmap_mutex; /* protect tree, count, list */
148 const struct address_space_operations *a_ops; /* methods */
151 struct backing_dev_info *backing_dev_info; /* device readahead, etc */
154 struct list_head private_list; /* ditto */
161 * of the 'struct inode'
163 struct inode {
171 struct posix_acl *i_acl;
172 struct posix_acl *i_default_acl;
175 const struct inode_operations *i_op;
176 struct super_block *i_sb;
177 struct address_space *i_mapping;
198 struct timespec i_atime;
199 struct timespec i_mtime;
200 struct timespec i_ctime;
212 struct mutex i_mutex;
216 struct hlist_node i_hash;
217 struct list_head i_wb_list; /* backing dev IO list */
218 struct list_head i_lru; /* inode LRU list */
219 struct list_head i_sb_list;
221 struct hlist_head i_dentry;
222 struct rcu_head i_rcu;
228 const struct file_operations *i_fop; /* former ->i_op->default_file_ops */
229 struct file_lock *i_flock;
230 struct address_space i_data;
232 struct dquot *i_dquot[MAXQUOTAS];
234 struct list_head i_devices;
236 struct pipe_inode_info *i_pipe;
237 struct block_device *i_bdev;
238 struct cdev *i_cdev;
245 struct hlist_head i_fsnotify_marks;
249 atomic_t i_readcount; /* struct files open RO */
254 struct super_operations {
255 struct inode *(*alloc_inode)(struct super_block *sb);
256 void (*destroy_inode)(struct inode *);
258 void (*dirty_inode) (struct inode *, int flags);
259 int (*write_inode) (struct inode *, struct writeback_control *wbc);
260 int (*drop_inode) (struct inode *);
261 void (*evict_inode) (struct inode *);
262 void (*put_super) (struct super_block *);
263 int (*sync_fs)(struct super_block *sb, int wait);
264 int (*freeze_fs) (struct super_block *);
265 int (*unfreeze_fs) (struct super_block *);
267 int (*statfs) (struct dentry *, struct kstatfs *);
269 int (*remount_fs) (struct super_block *, int *, char *);
270 void (*umount_begin) (struct super_block *);
273 int (*show_options)(struct seq_file *, struct dentry *);
274 int (*show_devname)(struct seq_file *, struct dentry *);
275 int (*show_path)(struct seq_file *, struct dentry *);
276 int (*show_stats)(struct seq_file *, struct dentry *);
279 ssize_t (*quota_read)(struct super_block *, int, char *, size_t, loff_t);
280 ssize_t (*quota_write)(struct super_block *, int, const char *, size_t, loff_t);
282 int (*bdev_try_to_free_page)(struct super_block*, struct page*, gfp_t);
283 long (*nr_cached_objects)(struct super_block *, int);
284 long (*free_cached_objects)(struct super_block *, long, int);
287 struct super_block {
288 struct list_head s_list; /* Keep this first */
293 struct file_system_type *s_type;
294 const struct super_operations *s_op;
295 const struct dquot_operations *dq_op;
296 const struct quotactl_ops *s_qcop;
297 const struct export_operations *s_export_op;
300 struct dentry *s_root;
301 struct rw_semaphore s_umount;
307 const struct xattr_handler **s_xattr;
309 struct list_head s_inodes; /* all inodes */
311 struct hlist_bl_head s_anon; /* anonymous dentries for (nfs) exporting */
313 struct list_head s_mounts; /* list of mounts; _not_ for fs use */
314 struct block_device *s_bdev;
316 struct backing_dev_info *s_bdi;
318 struct mtd_info *s_mtd;
320 struct hlist_node s_instances;
321 struct quota_info s_dquot; /* Diskquota specific options */
324 struct sb_writers s_writers;
343 struct mutex s_vfs_rename_mutex; /* Kludge */
358 const struct dentry_operations *s_d_op; /* default d_op for dentries */
366 struct shrinker s_shrink; /* per-sb shrinker handle */
376 struct workqueue_struct *s_dio_done_wq;
383 struct list_lru s_dentry_lru ____cacheline_aligned_in_smp;
384 struct list_lru s_inode_lru ____cacheline_aligned_in_smp;
386 struct rcu_head rcu;
389 struct file_system_type {
398 struct dentry *(*mount) (struct file_system_type *, int,
400 void (*kill_sb) (struct super_block *);
401 struct module *owner;
402 struct file_system_type * next;
403 struct hlist_head fs_supers;
406 struct lock_class_key s_lock_key;
407 struct lock_class_key s_umount_key;
408 struct lock_class_key s_vfs_rename_key;
409 struct lock_class_key s_writers_key[SB_FREEZE_LEVELS];
411 struct lock_class_key i_lock_key;
412 struct lock_class_key i_mutex_key;
413 struct lock_class_key i_mutex_dir_key;
418 struct vfsmount {
419 struct dentry *mnt_root; /* root of the mounted tree */
420 struct super_block *mnt_sb; /* pointer to superblock */
424 struct path {
425 struct vfsmount *mnt;
426 struct dentry *dentry;
429 struct file {
430 struct path f_path;
433 const struct file_operations *f_op;
447 struct list_head f_ep_links;
567 struct dentry {
570 struct inode *d_inode; /* Where the name belongs to - NULL is
576 struct hlist_node d_hash; /* lookup hash list */
577 struct dentry *d_parent; /* parent directory */
578 struct qstr d_name;
580 struct list_head d_lru; /* LRU list */
584 struct list_head d_subdirs; /* our children */
585 struct list_head d_alias; /* inode alias list */
587 struct super_block *d_sb; /* The root of the dentry tree */
590 struct dcookie_struct *d_cookie; /* cookie, if any */
596 static inline ino_t parent_ino(struct dentry *dentry) in parent_ino()
869 * struct ubifs_old_idx - index node obsoleted since last commit start.
874 struct ubifs_old_idx {
875 struct rb_node rb;
889 * struct ubifs_scan_node - UBIFS scanned node information.
898 struct ubifs_scan_node {
899 struct list_head list;
909 * struct ubifs_scan_leb - UBIFS scanned LEB information.
912 * @nodes: list of struct ubifs_scan_node
916 struct ubifs_scan_leb {
919 struct list_head nodes;
925 * struct ubifs_gced_idx_leb - garbage-collected indexing LEB.
934 struct ubifs_gced_idx_leb {
935 struct list_head list;
941 * struct ubifs_inode - UBIFS in-memory inode description.
997 struct ubifs_inode {
998 struct inode vfs_inode;
1008 struct mutex ui_mutex;
1020 * struct ubifs_unclean_leb - records a LEB recovered under read-only mode.
1029 struct ubifs_unclean_leb {
1030 struct list_head list;
1065 * struct ubifs_lprops - logical eraseblock properties.
1073 struct ubifs_lprops {
1079 struct list_head list;
1085 * struct ubifs_lpt_lprops - LPT logical eraseblock properties.
1091 struct ubifs_lpt_lprops {
1099 * struct ubifs_lp_stats - statistics of eraseblocks in the main area.
1124 struct ubifs_lp_stats {
1135 struct ubifs_nnode;
1138 * struct ubifs_cnode - LEB Properties Tree common node.
1146 struct ubifs_cnode {
1147 struct ubifs_nnode *parent;
1148 struct ubifs_cnode *cnext;
1156 * struct ubifs_pnode - LEB Properties Tree leaf node.
1165 struct ubifs_pnode {
1166 struct ubifs_nnode *parent;
1167 struct ubifs_cnode *cnext;
1172 struct ubifs_lprops lprops[UBIFS_LPT_FANOUT];
1176 * struct ubifs_nbranch - LEB Properties Tree internal node branch.
1183 struct ubifs_nbranch {
1187 struct ubifs_nnode *nnode;
1188 struct ubifs_pnode *pnode;
1189 struct ubifs_cnode *cnode;
1194 * struct ubifs_nnode - LEB Properties Tree internal node.
1203 struct ubifs_nnode {
1204 struct ubifs_nnode *parent;
1205 struct ubifs_cnode *cnext;
1210 struct ubifs_nbranch nbranch[UBIFS_LPT_FANOUT];
1214 * struct ubifs_lpt_heap - heap of categorized lprops.
1221 struct ubifs_lpt_heap {
1222 struct ubifs_lprops **arr;
1240 struct ubifs_info;
1243 typedef int (*ubifs_lpt_scan_callback)(struct ubifs_info *c,
1244 const struct ubifs_lprops *lprops,
1248 * struct ubifs_wbuf - UBIFS write-buffer.
1281 struct ubifs_wbuf {
1282 struct ubifs_info *c;
1290 int (*sync_callback)(struct ubifs_info *c, int lnum, int free, int pad);
1291 struct mutex io_mutex;
1295 // struct hrtimer timer;
1303 * struct ubifs_bud - bud logical eraseblock.
1310 struct ubifs_bud {
1314 struct list_head list;
1315 struct rb_node rb;
1319 * struct ubifs_jhead - journal head.
1326 struct ubifs_jhead {
1327 struct ubifs_wbuf wbuf;
1328 struct list_head buds_list;
1333 * struct ubifs_zbranch - key/coordinate/length branch stored in znodes.
1340 struct ubifs_zbranch {
1343 struct ubifs_znode *znode;
1352 * struct ubifs_znode - in-memory representation of an indexing node.
1369 struct ubifs_znode {
1370 struct ubifs_znode *parent;
1371 struct ubifs_znode *cnext;
1381 struct ubifs_zbranch zbranch[];
1385 * struct bu_info - bulk-read information.
1395 struct bu_info {
1397 struct ubifs_zbranch zbranch[UBIFS_MAX_BULK_READ];
1407 * struct ubifs_node_range - node length range description data structure.
1414 struct ubifs_node_range {
1423 * struct ubifs_compressor - UBIFS compressor description structure.
1431 struct ubifs_compressor {
1433 struct crypto_comp *cc;
1434 struct mutex *comp_mutex;
1435 struct mutex *decomp_mutex;
1445 * struct ubifs_budget_req - budget requirements of an operation.
1478 struct ubifs_budget_req {
1507 * struct ubifs_orphan - stores the inode number of an orphan.
1518 struct ubifs_orphan {
1519 struct rb_node rb;
1520 struct list_head list;
1521 struct list_head new_list;
1522 struct ubifs_orphan *cnext;
1523 struct ubifs_orphan *dnext;
1531 * struct ubifs_mount_opts - UBIFS-specific mount options information.
1542 struct ubifs_mount_opts {
1551 * struct ubifs_budg_info - UBIFS budgeting information.
1570 struct ubifs_budg_info {
1584 struct ubifs_debug_info;
1587 * struct ubifs_info - UBIFS file-system description data structure
1589 * @vfs_sb: VFS @struct super_block object
1834 struct ubifs_info {
1835 struct super_block *vfs_sb;
1837 struct backing_dev_info bdi;
1851 struct mutex log_mutex;
1855 struct rb_root buds;
1859 struct ubifs_jhead *jheads;
1862 struct list_head old_buds;
1865 struct rw_semaphore commit_sem;
1877 struct mutex tnc_mutex;
1878 struct ubifs_zbranch zroot;
1879 struct ubifs_znode *cnext;
1880 struct ubifs_znode *enext;
1890 struct rb_root old_idx;
1893 struct ubifs_mst_node *mst_node;
1897 struct mutex bu_mutex;
1898 struct bu_info bu;
1900 struct mutex write_reserve_mutex;
1942 struct ubifs_lp_stats lst;
1943 struct ubifs_budg_info bi;
1958 struct ubifs_node_range ranges[UBIFS_NODE_TYPES_CNT];
1959 struct ubi_volume_desc *ubi;
1960 struct ubi_device_info di;
1961 struct ubi_volume_info vi;
1963 struct rb_root orph_tree;
1964 struct list_head orph_list;
1965 struct list_head orph_new;
1966 struct ubifs_orphan *orph_cnext;
1967 struct ubifs_orphan *orph_dnext;
1978 struct task_struct *bgt;
1985 struct list_head idx_gc;
1990 struct list_head infos_list;
1991 struct mutex umount_mutex;
2009 struct mutex lp_mutex;
2021 struct ubifs_nnode *nroot;
2022 struct ubifs_cnode *lpt_cnext;
2023 struct ubifs_lpt_heap lpt_heap[LPROPS_HEAP_CNT];
2024 struct ubifs_lpt_heap dirty_idx;
2025 struct list_head uncat_list;
2026 struct list_head empty_list;
2027 struct list_head freeable_list;
2028 struct list_head frdi_idx_list;
2034 struct ubifs_lpt_lprops *ltab;
2035 struct ubifs_lpt_lprops *ltab_cmt;
2054 struct list_head replay_list;
2055 struct list_head replay_buds;
2058 struct list_head unclean_leb_list;
2059 struct ubifs_mst_node *rcvrd_mst_node;
2060 struct rb_root size_tree;
2061 struct ubifs_mount_opts mount_opts;
2064 struct ubifs_debug_info *dbg;
2068 extern struct list_head ubifs_infos;
2071 extern struct kmem_cache *ubifs_inode_slab;
2072 extern const struct super_operations ubifs_super_operations;
2073 extern const struct xattr_handler *ubifs_xattr_handlers[];
2074 extern const struct address_space_operations ubifs_file_address_operations;
2075 extern const struct file_operations ubifs_file_operations;
2076 extern const struct inode_operations ubifs_file_inode_operations;
2077 extern const struct file_operations ubifs_dir_operations;
2078 extern const struct inode_operations ubifs_dir_inode_operations;
2079 extern const struct inode_operations ubifs_symlink_inode_operations;
2080 extern struct backing_dev_info ubifs_backing_dev_info;
2081 extern struct ubifs_compressor *ubifs_compressors[UBIFS_COMPR_TYPES_CNT];
2084 void ubifs_ro_mode(struct ubifs_info *c, int err);
2085 int ubifs_leb_read(const struct ubifs_info *c, int lnum, void *buf, int offs,
2087 int ubifs_leb_write(struct ubifs_info *c, int lnum, const void *buf, int offs,
2089 int ubifs_leb_change(struct ubifs_info *c, int lnum, const void *buf, int len);
2090 int ubifs_leb_unmap(struct ubifs_info *c, int lnum);
2091 int ubifs_leb_map(struct ubifs_info *c, int lnum);
2092 int ubifs_is_mapped(const struct ubifs_info *c, int lnum);
2093 int ubifs_wbuf_write_nolock(struct ubifs_wbuf *wbuf, void *buf, int len);
2094 int ubifs_wbuf_seek_nolock(struct ubifs_wbuf *wbuf, int lnum, int offs);
2095 int ubifs_wbuf_init(struct ubifs_info *c, struct ubifs_wbuf *wbuf);
2096 int ubifs_read_node(const struct ubifs_info *c, void *buf, int type, int len,
2098 int ubifs_read_node_wbuf(struct ubifs_wbuf *wbuf, void *buf, int type, int len,
2100 int ubifs_write_node(struct ubifs_info *c, void *node, int len, int lnum,
2102 int ubifs_check_node(const struct ubifs_info *c, const void *buf, int lnum,
2104 void ubifs_prepare_node(struct ubifs_info *c, void *buf, int len, int pad);
2105 void ubifs_prep_grp_node(struct ubifs_info *c, void *node, int len, int last);
2106 int ubifs_io_init(struct ubifs_info *c);
2107 void ubifs_pad(const struct ubifs_info *c, void *buf, int pad);
2108 int ubifs_wbuf_sync_nolock(struct ubifs_wbuf *wbuf);
2109 int ubifs_bg_wbufs_sync(struct ubifs_info *c);
2110 void ubifs_wbuf_add_ino_nolock(struct ubifs_wbuf *wbuf, ino_t inum);
2111 int ubifs_sync_wbufs_by_inode(struct ubifs_info *c, struct inode *inode);
2114 struct ubifs_scan_leb *ubifs_scan(const struct ubifs_info *c, int lnum,
2116 void ubifs_scan_destroy(struct ubifs_scan_leb *sleb);
2117 int ubifs_scan_a_node(const struct ubifs_info *c, void *buf, int len, int lnum,
2119 struct ubifs_scan_leb *ubifs_start_scan(const struct ubifs_info *c, int lnum,
2121 void ubifs_end_scan(const struct ubifs_info *c, struct ubifs_scan_leb *sleb,
2123 int ubifs_add_snod(const struct ubifs_info *c, struct ubifs_scan_leb *sleb,
2125 void ubifs_scanned_corruption(const struct ubifs_info *c, int lnum, int offs,
2129 void ubifs_add_bud(struct ubifs_info *c, struct ubifs_bud *bud);
2130 void ubifs_create_buds_lists(struct ubifs_info *c);
2131 int ubifs_add_bud_to_log(struct ubifs_info *c, int jhead, int lnum, int offs);
2132 struct ubifs_bud *ubifs_search_bud(struct ubifs_info *c, int lnum);
2133 struct ubifs_wbuf *ubifs_get_wbuf(struct ubifs_info *c, int lnum);
2134 int ubifs_log_start_commit(struct ubifs_info *c, int *ltail_lnum);
2135 int ubifs_log_end_commit(struct ubifs_info *c, int new_ltail_lnum);
2136 int ubifs_log_post_commit(struct ubifs_info *c, int old_ltail_lnum);
2137 int ubifs_consolidate_log(struct ubifs_info *c);
2140 int ubifs_jnl_update(struct ubifs_info *c, const struct inode *dir,
2141 const struct qstr *nm, const struct inode *inode,
2143 int ubifs_jnl_write_data(struct ubifs_info *c, const struct inode *inode,
2145 int ubifs_jnl_write_inode(struct ubifs_info *c, const struct inode *inode);
2146 int ubifs_jnl_delete_inode(struct ubifs_info *c, const struct inode *inode);
2147 int ubifs_jnl_rename(struct ubifs_info *c, const struct inode *old_dir,
2148 const struct dentry *old_dentry,
2149 const struct inode *new_dir,
2150 const struct dentry *new_dentry, int sync);
2151 int ubifs_jnl_truncate(struct ubifs_info *c, const struct inode *inode,
2153 int ubifs_jnl_delete_xattr(struct ubifs_info *c, const struct inode *host,
2154 const struct inode *inode, const struct qstr *nm);
2155 int ubifs_jnl_change_xattr(struct ubifs_info *c, const struct inode *inode1,
2156 const struct inode *inode2);
2159 int ubifs_budget_space(struct ubifs_info *c, struct ubifs_budget_req *req);
2160 void ubifs_release_budget(struct ubifs_info *c, struct ubifs_budget_req *req);
2161 void ubifs_release_dirty_inode_budget(struct ubifs_info *c,
2162 struct ubifs_inode *ui);
2163 int ubifs_budget_inode_op(struct ubifs_info *c, struct inode *inode,
2164 struct ubifs_budget_req *req);
2165 void ubifs_release_ino_dirty(struct ubifs_info *c, struct inode *inode,
2166 struct ubifs_budget_req *req);
2167 void ubifs_cancel_ino_op(struct ubifs_info *c, struct inode *inode,
2168 struct ubifs_budget_req *req);
2169 long long ubifs_get_free_space(struct ubifs_info *c);
2170 long long ubifs_get_free_space_nolock(struct ubifs_info *c);
2171 int ubifs_calc_min_idx_lebs(struct ubifs_info *c);
2172 void ubifs_convert_page_budget(struct ubifs_info *c);
2173 long long ubifs_reported_space(const struct ubifs_info *c, long long free);
2174 long long ubifs_calc_available(const struct ubifs_info *c, int min_idx_lebs);
2177 int ubifs_find_free_space(struct ubifs_info *c, int min_space, int *offs,
2179 int ubifs_find_free_leb_for_idx(struct ubifs_info *c);
2180 int ubifs_find_dirty_leb(struct ubifs_info *c, struct ubifs_lprops *ret_lp,
2182 int ubifs_find_dirty_idx_leb(struct ubifs_info *c);
2183 int ubifs_save_dirty_idx_lnums(struct ubifs_info *c);
2186 int ubifs_lookup_level0(struct ubifs_info *c, const union ubifs_key *key,
2187 struct ubifs_znode **zn, int *n);
2188 int ubifs_tnc_lookup_nm(struct ubifs_info *c, const union ubifs_key *key,
2189 void *node, const struct qstr *nm);
2190 int ubifs_tnc_locate(struct ubifs_info *c, const union ubifs_key *key,
2192 int ubifs_tnc_add(struct ubifs_info *c, const union ubifs_key *key, int lnum,
2194 int ubifs_tnc_replace(struct ubifs_info *c, const union ubifs_key *key,
2196 int ubifs_tnc_add_nm(struct ubifs_info *c, const union ubifs_key *key,
2197 int lnum, int offs, int len, const struct qstr *nm);
2198 int ubifs_tnc_remove(struct ubifs_info *c, const union ubifs_key *key);
2199 int ubifs_tnc_remove_nm(struct ubifs_info *c, const union ubifs_key *key,
2200 const struct qstr *nm);
2201 int ubifs_tnc_remove_range(struct ubifs_info *c, union ubifs_key *from_key,
2203 int ubifs_tnc_remove_ino(struct ubifs_info *c, ino_t inum);
2204 struct ubifs_dent_node *ubifs_tnc_next_ent(struct ubifs_info *c,
2206 const struct qstr *nm);
2207 void ubifs_tnc_close(struct ubifs_info *c);
2208 int ubifs_tnc_has_node(struct ubifs_info *c, union ubifs_key *key, int level,
2210 int ubifs_dirty_idx_node(struct ubifs_info *c, union ubifs_key *key, int level,
2213 void destroy_old_idx(struct ubifs_info *c);
2214 int is_idx_node_in_tnc(struct ubifs_info *c, union ubifs_key *key, int level,
2216 int insert_old_idx_znode(struct ubifs_info *c, struct ubifs_znode *znode);
2217 int ubifs_tnc_get_bu_keys(struct ubifs_info *c, struct bu_info *bu);
2218 int ubifs_tnc_bulk_read(struct ubifs_info *c, struct bu_info *bu);
2221 struct ubifs_znode *ubifs_tnc_levelorder_next(struct ubifs_znode *zr,
2222 struct ubifs_znode *znode);
2223 int ubifs_search_zbranch(const struct ubifs_info *c,
2224 const struct ubifs_znode *znode,
2226 struct ubifs_znode *ubifs_tnc_postorder_first(struct ubifs_znode *znode);
2227 struct ubifs_znode *ubifs_tnc_postorder_next(struct ubifs_znode *znode);
2228 long ubifs_destroy_tnc_subtree(struct ubifs_znode *zr);
2229 struct ubifs_znode *ubifs_load_znode(struct ubifs_info *c,
2230 struct ubifs_zbranch *zbr,
2231 struct ubifs_znode *parent, int iip);
2232 int ubifs_tnc_read_node(struct ubifs_info *c, struct ubifs_zbranch *zbr,
2236 int ubifs_tnc_start_commit(struct ubifs_info *c, struct ubifs_zbranch *zroot);
2237 int ubifs_tnc_end_commit(struct ubifs_info *c);
2241 unsigned long ubifs_shrink_scan(struct shrinker *shrink,
2242 struct shrink_control *sc);
2243 unsigned long ubifs_shrink_count(struct shrinker *shrink,
2244 struct shrink_control *sc);
2249 void ubifs_commit_required(struct ubifs_info *c);
2250 void ubifs_request_bg_commit(struct ubifs_info *c);
2251 int ubifs_run_commit(struct ubifs_info *c);
2252 void ubifs_recovery_commit(struct ubifs_info *c);
2253 int ubifs_gc_should_commit(struct ubifs_info *c);
2254 void ubifs_wait_for_commit(struct ubifs_info *c);
2257 int ubifs_read_master(struct ubifs_info *c);
2258 int ubifs_write_master(struct ubifs_info *c);
2261 int ubifs_read_superblock(struct ubifs_info *c);
2262 struct ubifs_sb_node *ubifs_read_sb_node(struct ubifs_info *c);
2263 int ubifs_write_sb_node(struct ubifs_info *c, struct ubifs_sb_node *sup);
2264 int ubifs_fixup_free_space(struct ubifs_info *c);
2267 int ubifs_validate_entry(struct ubifs_info *c,
2268 const struct ubifs_dent_node *dent);
2269 int ubifs_replay_journal(struct ubifs_info *c);
2272 int ubifs_garbage_collect(struct ubifs_info *c, int anyway);
2273 int ubifs_gc_start_commit(struct ubifs_info *c);
2274 int ubifs_gc_end_commit(struct ubifs_info *c);
2275 void ubifs_destroy_idx_gc(struct ubifs_info *c);
2276 int ubifs_get_idx_gc_leb(struct ubifs_info *c);
2277 int ubifs_garbage_collect_leb(struct ubifs_info *c, struct ubifs_lprops *lp);
2280 int ubifs_add_orphan(struct ubifs_info *c, ino_t inum);
2281 void ubifs_delete_orphan(struct ubifs_info *c, ino_t inum);
2282 int ubifs_orphan_start_commit(struct ubifs_info *c);
2283 int ubifs_orphan_end_commit(struct ubifs_info *c);
2284 int ubifs_mount_orphans(struct ubifs_info *c, int unclean, int read_only);
2285 int ubifs_clear_orphans(struct ubifs_info *c);
2288 int ubifs_calc_lpt_geom(struct ubifs_info *c);
2289 int ubifs_create_dflt_lpt(struct ubifs_info *c, int *main_lebs, int lpt_first,
2291 int ubifs_lpt_init(struct ubifs_info *c, int rd, int wr);
2292 struct ubifs_lprops *ubifs_lpt_lookup(struct ubifs_info *c, int lnum);
2293 struct ubifs_lprops *ubifs_lpt_lookup_dirty(struct ubifs_info *c, int lnum);
2294 int ubifs_lpt_scan_nolock(struct ubifs_info *c, int start_lnum, int end_lnum,
2298 void ubifs_pack_lsave(struct ubifs_info *c, void *buf, int *lsave);
2299 void ubifs_pack_ltab(struct ubifs_info *c, void *buf,
2300 struct ubifs_lpt_lprops *ltab);
2301 void ubifs_pack_pnode(struct ubifs_info *c, void *buf,
2302 struct ubifs_pnode *pnode);
2303 void ubifs_pack_nnode(struct ubifs_info *c, void *buf,
2304 struct ubifs_nnode *nnode);
2305 struct ubifs_pnode *ubifs_get_pnode(struct ubifs_info *c,
2306 struct ubifs_nnode *parent, int iip);
2307 struct ubifs_nnode *ubifs_get_nnode(struct ubifs_info *c,
2308 struct ubifs_nnode *parent, int iip);
2309 int ubifs_read_nnode(struct ubifs_info *c, struct ubifs_nnode *parent, int iip);
2310 void ubifs_add_lpt_dirt(struct ubifs_info *c, int lnum, int dirty);
2311 void ubifs_add_nnode_dirt(struct ubifs_info *c, struct ubifs_nnode *nnode);
2313 struct ubifs_nnode *ubifs_first_nnode(struct ubifs_info *c, int *hght);
2315 int ubifs_unpack_nnode(const struct ubifs_info *c, void *buf,
2316 struct ubifs_nnode *nnode);
2319 int ubifs_lpt_start_commit(struct ubifs_info *c);
2320 int ubifs_lpt_end_commit(struct ubifs_info *c);
2321 int ubifs_lpt_post_commit(struct ubifs_info *c);
2322 void ubifs_lpt_free(struct ubifs_info *c, int wr_only);
2325 const struct ubifs_lprops *ubifs_change_lp(struct ubifs_info *c,
2326 const struct ubifs_lprops *lp,
2329 void ubifs_get_lp_stats(struct ubifs_info *c, struct ubifs_lp_stats *lst);
2330 void ubifs_add_to_cat(struct ubifs_info *c, struct ubifs_lprops *lprops,
2332 void ubifs_replace_cat(struct ubifs_info *c, struct ubifs_lprops *old_lprops,
2333 struct ubifs_lprops *new_lprops);
2334 void ubifs_ensure_cat(struct ubifs_info *c, struct ubifs_lprops *lprops);
2335 int ubifs_categorize_lprops(const struct ubifs_info *c,
2336 const struct ubifs_lprops *lprops);
2337 int ubifs_change_one_lp(struct ubifs_info *c, int lnum, int free, int dirty,
2339 int ubifs_update_one_lp(struct ubifs_info *c, int lnum, int free, int dirty,
2341 int ubifs_read_one_lp(struct ubifs_info *c, int lnum, struct ubifs_lprops *lp);
2342 const struct ubifs_lprops *ubifs_fast_find_free(struct ubifs_info *c);
2343 const struct ubifs_lprops *ubifs_fast_find_empty(struct ubifs_info *c);
2344 const struct ubifs_lprops *ubifs_fast_find_freeable(struct ubifs_info *c);
2345 const struct ubifs_lprops *ubifs_fast_find_frdi_idx(struct ubifs_info *c);
2346 int ubifs_calc_dark(const struct ubifs_info *c, int spc);
2349 int ubifs_fsync(struct file *file, loff_t start, loff_t end, int datasync);
2350 int ubifs_setattr(struct dentry *dentry, struct iattr *attr);
2353 struct inode *ubifs_new_inode(struct ubifs_info *c, const struct inode *dir,
2355 int ubifs_getattr(struct vfsmount *mnt, struct dentry *dentry,
2356 struct kstat *stat);
2359 int ubifs_setxattr(struct dentry *dentry, const char *name,
2361 ssize_t ubifs_getxattr(struct dentry *dentry, const char *name, void *buf,
2363 ssize_t ubifs_listxattr(struct dentry *dentry, char *buffer, size_t size);
2364 int ubifs_removexattr(struct dentry *dentry, const char *name);
2365 int ubifs_init_security(struct inode *dentry, struct inode *inode,
2366 const struct qstr *qstr);
2369 struct inode *ubifs_iget(struct super_block *sb, unsigned long inum);
2370 int ubifs_iput(struct inode *inode);
2373 int ubifs_recover_master_node(struct ubifs_info *c);
2374 int ubifs_write_rcvrd_mst_node(struct ubifs_info *c);
2375 struct ubifs_scan_leb *ubifs_recover_leb(struct ubifs_info *c, int lnum,
2377 struct ubifs_scan_leb *ubifs_recover_log_leb(struct ubifs_info *c, int lnum,
2379 int ubifs_recover_inl_heads(struct ubifs_info *c, void *sbuf);
2380 int ubifs_clean_lebs(struct ubifs_info *c, void *sbuf);
2381 int ubifs_rcvry_gc_commit(struct ubifs_info *c);
2382 int ubifs_recover_size_accum(struct ubifs_info *c, union ubifs_key *key,
2384 int ubifs_recover_size(struct ubifs_info *c);
2385 void ubifs_destroy_size_tree(struct ubifs_info *c);
2388 long ubifs_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
2389 void ubifs_set_inode_flags(struct inode *inode);
2391 long ubifs_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
2397 void ubifs_compress(const struct ubifs_info *c, const void *in_buf, int in_len,
2399 int ubifs_decompress(const struct ubifs_info *c, const void *buf, int len,
2407 void ubifs_umount(struct ubifs_info *c);