Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
nodelist.h File Reference
#include <linux/fs.h>
#include <linux/types.h>
#include <linux/jffs2.h>
#include "jffs2_fs_sb.h"
#include "jffs2_fs_i.h"
#include "xattr.h"
#include "acl.h"
#include "summary.h"
#include "os-linux.h"
#include "debug.h"

Go to the source code of this file.

Data Structures

struct  jffs2_raw_node_ref
 
struct  jffs2_inode_cache
 
struct  jffs2_full_dnode
 
struct  jffs2_tmp_dnode_info
 
struct  jffs2_readinode_info
 
struct  jffs2_full_dirent
 
struct  jffs2_node_frag
 
struct  jffs2_eraseblock
 

Macros

#define JFFS2_NATIVE_ENDIAN
 
#define cpu_to_je16(x)   ((jint16_t){x})
 
#define cpu_to_je32(x)   ((jint32_t){x})
 
#define cpu_to_jemode(x)   ((jmode_t){os_to_jffs2_mode(x)})
 
#define constant_cpu_to_je16(x)   ((jint16_t){x})
 
#define constant_cpu_to_je32(x)   ((jint32_t){x})
 
#define je16_to_cpu(x)   ((x).v16)
 
#define je32_to_cpu(x)   ((x).v32)
 
#define jemode_to_cpu(x)   (jffs2_to_os_mode((x).m))
 
#define JFFS2_MIN_NODE_HEADER   sizeof(struct jffs2_raw_dirent)
 
#define REF_LINK_NODE   ((int32_t)-1)
 
#define REF_EMPTY_NODE   ((int32_t)-2)
 
#define REFS_PER_BLOCK   ((255/sizeof(struct jffs2_raw_node_ref))-1)
 
#define REF_UNCHECKED   0 /* We haven't yet checked the CRC or built its inode */
 
#define REF_OBSOLETE   1 /* Obsolete, can be completely ignored */
 
#define REF_PRISTINE   2 /* Completely clean. GC without looking */
 
#define REF_NORMAL   3 /* Possibly overlapped. Read the page and write again on GC */
 
#define ref_flags(ref)   ((ref)->flash_offset & 3)
 
#define ref_offset(ref)   ((ref)->flash_offset & ~3)
 
#define ref_obsolete(ref)   (((ref)->flash_offset & 3) == REF_OBSOLETE)
 
#define mark_ref_normal(ref)   do { (ref)->flash_offset = ref_offset(ref) | REF_NORMAL; } while(0)
 
#define dirent_node_state(rd)   ( (je32_to_cpu((rd)->ino)?REF_PRISTINE:REF_NORMAL) )
 
#define INO_STATE_UNCHECKED   0 /* CRC checks not yet done */
 
#define INO_STATE_CHECKING   1 /* CRC checks in progress */
 
#define INO_STATE_PRESENT   2 /* In core */
 
#define INO_STATE_CHECKEDABSENT   3 /* Checked, cleared again */
 
#define INO_STATE_GC   4 /* GCing a 'pristine' node */
 
#define INO_STATE_READING   5 /* In read_inode() */
 
#define INO_STATE_CLEARING   6 /* In clear_inode() */
 
#define INO_FLAGS_XATTR_CHECKED   0x01 /* has no duplicate xattr_ref */
 
#define RAWNODE_CLASS_INODE_CACHE   0
 
#define RAWNODE_CLASS_XATTR_DATUM   1
 
#define RAWNODE_CLASS_XATTR_REF   2
 
#define INOCACHE_HASHSIZE_MIN   128
 
#define INOCACHE_HASHSIZE_MAX   1024
 
#define write_ofs(c)   ((c)->nextblock->offset + (c)->sector_size - (c)->nextblock->free_size)
 
#define ref_totlen(a, b, c)   __jffs2_ref_totlen((a), (b), (c))
 
#define ALLOC_NORMAL   0 /* Normal allocation */
 
#define ALLOC_DELETION   1 /* Deletion node. Best to allow it */
 
#define ALLOC_GC   2 /* Space requested for GC. Give it or die */
 
#define ALLOC_NORETRY   3 /* For jffs2_write_dnode: On failure, return -EAGAIN instead of retrying */
 
#define VERYDIRTY(c, size)   ((size) >= ((c)->sector_size / 2))
 
#define ISDIRTY(size)   ((size) > sizeof (struct jffs2_raw_inode) + JFFS2_MIN_DATA_LEN)
 
#define PAD(x)   (((x)+3)&~3)
 
#define frag_next(frag)   rb_entry(rb_next(&(frag)->rb), struct jffs2_node_frag, rb)
 
#define frag_prev(frag)   rb_entry(rb_prev(&(frag)->rb), struct jffs2_node_frag, rb)
 
#define frag_parent(frag)   rb_entry(rb_parent(&(frag)->rb), struct jffs2_node_frag, rb)
 
#define frag_left(frag)   rb_entry((frag)->rb.rb_left, struct jffs2_node_frag, rb)
 
#define frag_right(frag)   rb_entry((frag)->rb.rb_right, struct jffs2_node_frag, rb)
 
#define frag_erase(frag, list)   rb_erase(&frag->rb, list);
 
#define tn_next(tn)   rb_entry(rb_next(&(tn)->rb), struct jffs2_tmp_dnode_info, rb)
 
#define tn_prev(tn)   rb_entry(rb_prev(&(tn)->rb), struct jffs2_tmp_dnode_info, rb)
 
#define tn_parent(tn)   rb_entry(rb_parent(&(tn)->rb), struct jffs2_tmp_dnode_info, rb)
 
#define tn_left(tn)   rb_entry((tn)->rb.rb_left, struct jffs2_tmp_dnode_info, rb)
 
#define tn_right(tn)   rb_entry((tn)->rb.rb_right, struct jffs2_tmp_dnode_info, rb)
 
#define tn_erase(tn, list)   rb_erase(&tn->rb, list);
 
#define tn_last(list)   rb_entry(rb_last(list), struct jffs2_tmp_dnode_info, rb)
 
#define tn_first(list)   rb_entry(rb_first(list), struct jffs2_tmp_dnode_info, rb)
 

Functions

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_cachejffs2_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)
 
struct jffs2_node_fragjffs2_lookup_node_frag (struct rb_root *fragtree, uint32_t offset)
 
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_refjffs2_link_node_ref (struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb, uint32_t ofs, uint32_t len, struct jffs2_inode_cache *ic)
 
uint32_t __jffs2_ref_totlen (struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb, struct jffs2_raw_node_ref *ref)
 
int jffs2_thread_should_wake (struct jffs2_sb_info *c)
 
int jffs2_reserve_space (struct jffs2_sb_info *c, uint32_t minsize, uint32_t *len, int prio, uint32_t sumsize)
 
int jffs2_reserve_space_gc (struct jffs2_sb_info *c, uint32_t minsize, uint32_t *len, uint32_t sumsize)
 
struct jffs2_raw_node_refjffs2_add_physical_node_ref (struct jffs2_sb_info *c, uint32_t ofs, uint32_t len, struct jffs2_inode_cache *ic)
 
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_dnodejffs2_write_dnode (struct jffs2_sb_info *c, struct jffs2_inode_info *f, struct jffs2_raw_inode *ri, const unsigned char *data, uint32_t datalen, int alloc_mode)
 
struct jffs2_full_direntjffs2_write_dirent (struct jffs2_sb_info *c, struct jffs2_inode_info *f, struct jffs2_raw_dirent *rd, const unsigned char *name, uint32_t namelen, int alloc_mode)
 
int jffs2_write_inode_range (struct jffs2_sb_info *c, struct jffs2_inode_info *f, struct jffs2_raw_inode *ri, unsigned char *buf, uint32_t offset, uint32_t writelen, uint32_t *retlen)
 
int jffs2_do_create (struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f, struct jffs2_inode_info *f, struct jffs2_raw_inode *ri, const struct qstr *qstr)
 
int jffs2_do_unlink (struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f, const char *name, int namelen, struct jffs2_inode_info *dead_f, uint32_t time)
 
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_do_read_inode (struct jffs2_sb_info *c, struct jffs2_inode_info *f, uint32_t ino, struct jffs2_raw_inode *latest_node)
 
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_create_slab_caches (void)
 
void jffs2_destroy_slab_caches (void)
 
struct jffs2_full_direntjffs2_alloc_full_dirent (int namesize)
 
void jffs2_free_full_dirent (struct jffs2_full_dirent *)
 
struct jffs2_full_dnodejffs2_alloc_full_dnode (void)
 
void jffs2_free_full_dnode (struct jffs2_full_dnode *)
 
struct jffs2_raw_direntjffs2_alloc_raw_dirent (void)
 
void jffs2_free_raw_dirent (struct jffs2_raw_dirent *)
 
struct jffs2_raw_inodejffs2_alloc_raw_inode (void)
 
void jffs2_free_raw_inode (struct jffs2_raw_inode *)
 
struct jffs2_tmp_dnode_infojffs2_alloc_tmp_dnode_info (void)
 
void jffs2_free_tmp_dnode_info (struct jffs2_tmp_dnode_info *)
 
int jffs2_prealloc_raw_node_refs (struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb, int nr)
 
void jffs2_free_refblock (struct jffs2_raw_node_ref *)
 
struct jffs2_node_fragjffs2_alloc_node_frag (void)
 
void jffs2_free_node_frag (struct jffs2_node_frag *)
 
struct jffs2_inode_cachejffs2_alloc_inode_cache (void)
 
void jffs2_free_inode_cache (struct jffs2_inode_cache *)
 
int jffs2_garbage_collect_pass (struct jffs2_sb_info *c)
 
int jffs2_read_dnode (struct jffs2_sb_info *c, struct jffs2_inode_info *f, struct jffs2_full_dnode *fd, unsigned char *buf, int ofs, int len)
 
int jffs2_read_inode_range (struct jffs2_sb_info *c, struct jffs2_inode_info *f, unsigned char *buf, uint32_t offset, uint32_t len)
 
charjffs2_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_cachejffs2_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)
 

Macro Definition Documentation

#define ALLOC_DELETION   1 /* Deletion node. Best to allow it */

Definition at line 300 of file nodelist.h.

#define ALLOC_GC   2 /* Space requested for GC. Give it or die */

Definition at line 301 of file nodelist.h.

#define ALLOC_NORETRY   3 /* For jffs2_write_dnode: On failure, return -EAGAIN instead of retrying */

Definition at line 302 of file nodelist.h.

#define ALLOC_NORMAL   0 /* Normal allocation */

Definition at line 299 of file nodelist.h.

#define constant_cpu_to_je16 (   x)    ((jint16_t){x})

Definition at line 40 of file nodelist.h.

#define constant_cpu_to_je32 (   x)    ((jint32_t){x})

Definition at line 41 of file nodelist.h.

#define cpu_to_je16 (   x)    ((jint16_t){x})

Definition at line 36 of file nodelist.h.

#define cpu_to_je32 (   x)    ((jint32_t){x})

Definition at line 37 of file nodelist.h.

#define cpu_to_jemode (   x)    ((jmode_t){os_to_jffs2_mode(x)})

Definition at line 38 of file nodelist.h.

#define dirent_node_state (   rd)    ( (je32_to_cpu((rd)->ino)?REF_PRISTINE:REF_NORMAL) )

Definition at line 144 of file nodelist.h.

#define frag_erase (   frag,
  list 
)    rb_erase(&frag->rb, list);

Definition at line 348 of file nodelist.h.

#define frag_left (   frag)    rb_entry((frag)->rb.rb_left, struct jffs2_node_frag, rb)

Definition at line 346 of file nodelist.h.

#define frag_next (   frag)    rb_entry(rb_next(&(frag)->rb), struct jffs2_node_frag, rb)

Definition at line 343 of file nodelist.h.

#define frag_parent (   frag)    rb_entry(rb_parent(&(frag)->rb), struct jffs2_node_frag, rb)

Definition at line 345 of file nodelist.h.

#define frag_prev (   frag)    rb_entry(rb_prev(&(frag)->rb), struct jffs2_node_frag, rb)

Definition at line 344 of file nodelist.h.

#define frag_right (   frag)    rb_entry((frag)->rb.rb_right, struct jffs2_node_frag, rb)

Definition at line 347 of file nodelist.h.

#define INO_FLAGS_XATTR_CHECKED   0x01 /* has no duplicate xattr_ref */

Definition at line 196 of file nodelist.h.

#define INO_STATE_CHECKEDABSENT   3 /* Checked, cleared again */

Definition at line 191 of file nodelist.h.

#define INO_STATE_CHECKING   1 /* CRC checks in progress */

Definition at line 189 of file nodelist.h.

#define INO_STATE_CLEARING   6 /* In clear_inode() */

Definition at line 194 of file nodelist.h.

#define INO_STATE_GC   4 /* GCing a 'pristine' node */

Definition at line 192 of file nodelist.h.

#define INO_STATE_PRESENT   2 /* In core */

Definition at line 190 of file nodelist.h.

#define INO_STATE_READING   5 /* In read_inode() */

Definition at line 193 of file nodelist.h.

#define INO_STATE_UNCHECKED   0 /* CRC checks not yet done */

Definition at line 188 of file nodelist.h.

#define INOCACHE_HASHSIZE_MAX   1024

Definition at line 203 of file nodelist.h.

#define INOCACHE_HASHSIZE_MIN   128

Definition at line 202 of file nodelist.h.

#define ISDIRTY (   size)    ((size) > sizeof (struct jffs2_raw_inode) + JFFS2_MIN_DATA_LEN)

Definition at line 308 of file nodelist.h.

#define je16_to_cpu (   x)    ((x).v16)

Definition at line 43 of file nodelist.h.

#define je32_to_cpu (   x)    ((x).v32)

Definition at line 44 of file nodelist.h.

#define jemode_to_cpu (   x)    (jffs2_to_os_mode((x).m))

Definition at line 45 of file nodelist.h.

#define JFFS2_MIN_NODE_HEADER   sizeof(struct jffs2_raw_dirent)

Definition at line 73 of file nodelist.h.

#define JFFS2_NATIVE_ENDIAN

Definition at line 30 of file nodelist.h.

#define mark_ref_normal (   ref)    do { (ref)->flash_offset = ref_offset(ref) | REF_NORMAL; } while(0)

Definition at line 139 of file nodelist.h.

#define PAD (   x)    (((x)+3)&~3)

Definition at line 310 of file nodelist.h.

#define RAWNODE_CLASS_INODE_CACHE   0

Definition at line 198 of file nodelist.h.

#define RAWNODE_CLASS_XATTR_DATUM   1

Definition at line 199 of file nodelist.h.

#define RAWNODE_CLASS_XATTR_REF   2

Definition at line 200 of file nodelist.h.

#define REF_EMPTY_NODE   ((int32_t)-2)

Definition at line 96 of file nodelist.h.

#define ref_flags (   ref)    ((ref)->flash_offset & 3)

Definition at line 136 of file nodelist.h.

#define REF_LINK_NODE   ((int32_t)-1)

Definition at line 95 of file nodelist.h.

#define REF_NORMAL   3 /* Possibly overlapped. Read the page and write again on GC */

Definition at line 135 of file nodelist.h.

#define REF_OBSOLETE   1 /* Obsolete, can be completely ignored */

Definition at line 133 of file nodelist.h.

#define ref_obsolete (   ref)    (((ref)->flash_offset & 3) == REF_OBSOLETE)

Definition at line 138 of file nodelist.h.

#define ref_offset (   ref)    ((ref)->flash_offset & ~3)

Definition at line 137 of file nodelist.h.

#define REF_PRISTINE   2 /* Completely clean. GC without looking */

Definition at line 134 of file nodelist.h.

#define ref_totlen (   a,
  b,
  c 
)    __jffs2_ref_totlen((a), (b), (c))

Definition at line 297 of file nodelist.h.

#define REF_UNCHECKED   0 /* We haven't yet checked the CRC or built its inode */

Definition at line 132 of file nodelist.h.

#define REFS_PER_BLOCK   ((255/sizeof(struct jffs2_raw_node_ref))-1)

Definition at line 99 of file nodelist.h.

#define tn_erase (   tn,
  list 
)    rb_erase(&tn->rb, list);

Definition at line 355 of file nodelist.h.

#define tn_first (   list)    rb_entry(rb_first(list), struct jffs2_tmp_dnode_info, rb)

Definition at line 357 of file nodelist.h.

#define tn_last (   list)    rb_entry(rb_last(list), struct jffs2_tmp_dnode_info, rb)

Definition at line 356 of file nodelist.h.

#define tn_left (   tn)    rb_entry((tn)->rb.rb_left, struct jffs2_tmp_dnode_info, rb)

Definition at line 353 of file nodelist.h.

#define tn_next (   tn)    rb_entry(rb_next(&(tn)->rb), struct jffs2_tmp_dnode_info, rb)

Definition at line 350 of file nodelist.h.

#define tn_parent (   tn)    rb_entry(rb_parent(&(tn)->rb), struct jffs2_tmp_dnode_info, rb)

Definition at line 352 of file nodelist.h.

#define tn_prev (   tn)    rb_entry(rb_prev(&(tn)->rb), struct jffs2_tmp_dnode_info, rb)

Definition at line 351 of file nodelist.h.

#define tn_right (   tn)    rb_entry((tn)->rb.rb_right, struct jffs2_tmp_dnode_info, rb)

Definition at line 354 of file nodelist.h.

#define VERYDIRTY (   c,
  size 
)    ((size) >= ((c)->sector_size / 2))

Definition at line 305 of file nodelist.h.

#define write_ofs (   c)    ((c)->nextblock->offset + (c)->sector_size - (c)->nextblock->free_size)

Definition at line 205 of file nodelist.h.

Function Documentation

uint32_t __jffs2_ref_totlen ( struct jffs2_sb_info c,
struct jffs2_eraseblock jeb,
struct jffs2_raw_node_ref ref 
)

Definition at line 742 of file nodelist.c.

void jffs2_add_fd_to_list ( struct jffs2_sb_info c,
struct jffs2_full_dirent new,
struct jffs2_full_dirent **  list 
)

Definition at line 26 of file nodelist.c.

int jffs2_add_full_dnode_to_inode ( struct jffs2_sb_info c,
struct jffs2_inode_info f,
struct jffs2_full_dnode fn 
)

Definition at line 363 of file nodelist.c.

void jffs2_add_ino_cache ( struct jffs2_sb_info c,
struct jffs2_inode_cache new 
)

Definition at line 436 of file nodelist.c.

struct jffs2_raw_node_ref* jffs2_add_physical_node_ref ( struct jffs2_sb_info c,
uint32_t  ofs,
uint32_t  len,
struct jffs2_inode_cache ic 
)
read

jffs2_add_physical_node_ref - add a physical node reference to the list : superblock info : new node reference to add : length of this physical node

Should only be used to report nodes for which space has been allocated by jffs2_reserve_space.

Must be called with the alloc_sem held.

Definition at line 492 of file nodemgmt.c.

struct jffs2_full_dirent* jffs2_alloc_full_dirent ( int  namesize)
read

Definition at line 122 of file malloc.c.

struct jffs2_full_dnode* jffs2_alloc_full_dnode ( void  )
read

Definition at line 136 of file malloc.c.

struct jffs2_inode_cache* jffs2_alloc_inode_cache ( void  )
read

Definition at line 271 of file malloc.c.

struct jffs2_node_frag* jffs2_alloc_node_frag ( void  )
read

Definition at line 257 of file malloc.c.

struct jffs2_raw_dirent* jffs2_alloc_raw_dirent ( void  )
read

Definition at line 150 of file malloc.c.

struct jffs2_raw_inode* jffs2_alloc_raw_inode ( void  )
read

Definition at line 164 of file malloc.c.

struct jffs2_tmp_dnode_info* jffs2_alloc_tmp_dnode_info ( void  )
read

Definition at line 178 of file malloc.c.

void jffs2_complete_reservation ( struct jffs2_sb_info c)

Definition at line 548 of file nodemgmt.c.

int jffs2_create_slab_caches ( void  )

Definition at line 34 of file malloc.c.

void jffs2_del_ino_cache ( struct jffs2_sb_info c,
struct jffs2_inode_cache old 
)

Definition at line 457 of file nodelist.c.

void jffs2_destroy_slab_caches ( void  )

Definition at line 98 of file malloc.c.

void jffs2_do_clear_inode ( struct jffs2_sb_info c,
struct jffs2_inode_info f 
)

Definition at line 1432 of file readinode.c.

int jffs2_do_crccheck_inode ( struct jffs2_sb_info c,
struct jffs2_inode_cache ic 
)

Definition at line 1409 of file readinode.c.

int jffs2_do_create ( struct jffs2_sb_info c,
struct jffs2_inode_info dir_f,
struct jffs2_inode_info f,
struct jffs2_raw_inode ri,
const struct qstr qstr 
)

Definition at line 440 of file write.c.

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 
)

Definition at line 668 of file write.c.

int jffs2_do_mount_fs ( struct jffs2_sb_info c)

Definition at line 330 of file build.c.

int jffs2_do_new_inode ( struct jffs2_sb_info c,
struct jffs2_inode_info f,
uint32_t  mode,
struct jffs2_raw_inode ri 
)

Definition at line 23 of file write.c.

int jffs2_do_read_inode ( struct jffs2_sb_info c,
struct jffs2_inode_info f,
uint32_t  ino,
struct jffs2_raw_inode latest_node 
)

Definition at line 1345 of file readinode.c.

int jffs2_do_unlink ( struct jffs2_sb_info c,
struct jffs2_inode_info dir_f,
const char name,
int  namelen,
struct jffs2_inode_info dead_f,
uint32_t  time 
)

Definition at line 546 of file write.c.

int jffs2_erase_pending_blocks ( struct jffs2_sb_info c,
int  count 
)

Definition at line 112 of file erase.c.

void jffs2_free_full_dirent ( struct jffs2_full_dirent )

Definition at line 130 of file malloc.c.

void jffs2_free_full_dnode ( struct jffs2_full_dnode )

Definition at line 144 of file malloc.c.

void jffs2_free_ino_caches ( struct jffs2_sb_info c)

Definition at line 487 of file nodelist.c.

void jffs2_free_inode_cache ( struct jffs2_inode_cache )

Definition at line 279 of file malloc.c.

void jffs2_free_jeb_node_refs ( struct jffs2_sb_info c,
struct jffs2_eraseblock jeb 
)

Definition at line 316 of file erase.c.

void jffs2_free_node_frag ( struct jffs2_node_frag )

Definition at line 265 of file malloc.c.

void jffs2_free_raw_dirent ( struct jffs2_raw_dirent )

Definition at line 158 of file malloc.c.

void jffs2_free_raw_inode ( struct jffs2_raw_inode )

Definition at line 172 of file malloc.c.

void jffs2_free_raw_node_refs ( struct jffs2_sb_info c)

Definition at line 504 of file nodelist.c.

void jffs2_free_refblock ( struct jffs2_raw_node_ref )

Definition at line 251 of file malloc.c.

void jffs2_free_tmp_dnode_info ( struct jffs2_tmp_dnode_info )

Definition at line 187 of file malloc.c.

int jffs2_garbage_collect_pass ( struct jffs2_sb_info c)

Definition at line 124 of file gc.c.

struct jffs2_inode_cache* jffs2_get_ino_cache ( struct jffs2_sb_info c,
uint32_t  ino 
)
read

Definition at line 421 of file nodelist.c.

char* jffs2_getlink ( struct jffs2_sb_info c,
struct jffs2_inode_info f 
)
void jffs2_kill_fragtree ( struct rb_root root,
struct jffs2_sb_info c_delete 
)

Definition at line 565 of file nodelist.c.

struct jffs2_raw_node_ref* jffs2_link_node_ref ( struct jffs2_sb_info c,
struct jffs2_eraseblock jeb,
uint32_t  ofs,
uint32_t  len,
struct jffs2_inode_cache ic 
)
read

Definition at line 609 of file nodelist.c.

struct jffs2_node_frag* jffs2_lookup_node_frag ( struct rb_root fragtree,
uint32_t  offset 
)
read

Definition at line 524 of file nodelist.c.

void jffs2_mark_node_obsolete ( struct jffs2_sb_info c,
struct jffs2_raw_node_ref raw 
)

Definition at line 571 of file nodemgmt.c.

int jffs2_prealloc_raw_node_refs ( struct jffs2_sb_info c,
struct jffs2_eraseblock jeb,
int  nr 
)

Definition at line 210 of file malloc.c.

int jffs2_read_dnode ( struct jffs2_sb_info c,
struct jffs2_inode_info f,
struct jffs2_full_dnode fd,
unsigned char buf,
int  ofs,
int  len 
)

Definition at line 23 of file read.c.

int jffs2_read_inode_range ( struct jffs2_sb_info c,
struct jffs2_inode_info f,
unsigned char buf,
uint32_t  offset,
uint32_t  len 
)

Definition at line 157 of file read.c.

int jffs2_reserve_space ( struct jffs2_sb_info c,
uint32_t  minsize,
uint32_t len,
int  prio,
uint32_t  sumsize 
)

Definition at line 74 of file nodemgmt.c.

int jffs2_reserve_space_gc ( struct jffs2_sb_info c,
uint32_t  minsize,
uint32_t len,
uint32_t  sumsize 
)

Definition at line 211 of file nodemgmt.c.

void jffs2_rotate_lists ( struct jffs2_sb_info c)

Definition at line 1133 of file scan.c.

int jffs2_scan_classify_jeb ( struct jffs2_sb_info c,
struct jffs2_eraseblock jeb 
)

Definition at line 307 of file scan.c.

int jffs2_scan_dirty_space ( struct jffs2_sb_info c,
struct jffs2_eraseblock jeb,
uint32_t  size 
)

Definition at line 686 of file nodelist.c.

struct jffs2_inode_cache* jffs2_scan_make_ino_cache ( struct jffs2_sb_info c,
uint32_t  ino 
)
read

Definition at line 954 of file scan.c.

int jffs2_scan_medium ( struct jffs2_sb_info c)

Definition at line 91 of file scan.c.

void jffs2_set_inocache_state ( struct jffs2_sb_info c,
struct jffs2_inode_cache ic,
int  state 
)

Definition at line 408 of file nodelist.c.

int jffs2_thread_should_wake ( struct jffs2_sb_info c)

Definition at line 829 of file nodemgmt.c.

uint32_t jffs2_truncate_fragtree ( struct jffs2_sb_info c,
struct rb_root list,
uint32_t  size 
)

Definition at line 59 of file nodelist.c.

struct jffs2_full_dirent* jffs2_write_dirent ( struct jffs2_sb_info c,
struct jffs2_inode_info f,
struct jffs2_raw_dirent rd,
const unsigned char name,
uint32_t  namelen,
int  alloc_mode 
)
read

Definition at line 205 of file write.c.

struct jffs2_full_dnode* jffs2_write_dnode ( struct jffs2_sb_info c,
struct jffs2_inode_info f,
struct jffs2_raw_inode ri,
const unsigned char data,
uint32_t  datalen,
int  alloc_mode 
)
read

Definition at line 59 of file write.c.

int jffs2_write_inode_range ( struct jffs2_sb_info c,
struct jffs2_inode_info f,
struct jffs2_raw_inode ri,
unsigned char buf,
uint32_t  offset,
uint32_t  writelen,
uint32_t retlen 
)

Definition at line 340 of file write.c.