~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/fs/jffs2/summary.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /fs/jffs2/summary.h (Version linux-6.12-rc7) and /fs/jffs2/summary.h (Version linux-2.4.37.11)


  1 /*                                                  1 
  2  * JFFS2 -- Journalling Flash File System, Ver    
  3  *                                                
  4  * Copyright © 2004  Ferenc Havasi <havasi@in    
  5  *                   Zoltan Sogor <weth@inf.u-    
  6  *                   Patrik Kluba <pajko@halom    
  7  *                   University of Szeged, Hun    
  8  *                                                
  9  * For licensing information, see the file 'LI    
 10  *                                                
 11  */                                               
 12                                                   
 13 #ifndef JFFS2_SUMMARY_H                           
 14 #define JFFS2_SUMMARY_H                           
 15                                                   
 16 /* Limit summary size to 64KiB so that we can     
 17    is larger than that, we have to just ditch     
 18    for the eraseblock in question... and it pr    
 19    anyway. */                                     
 20 #define MAX_SUMMARY_SIZE 65536                    
 21                                                   
 22 #include <linux/uio.h>                            
 23 #include <linux/jffs2.h>                          
 24                                                   
 25 #define BLK_STATE_ALLFF         0                 
 26 #define BLK_STATE_CLEAN         1                 
 27 #define BLK_STATE_PARTDIRTY     2                 
 28 #define BLK_STATE_CLEANMARKER   3                 
 29 #define BLK_STATE_ALLDIRTY      4                 
 30 #define BLK_STATE_BADBLOCK      5                 
 31                                                   
 32 #define JFFS2_SUMMARY_NOSUM_SIZE 0xffffffff       
 33 #define JFFS2_SUMMARY_INODE_SIZE (sizeof(struc    
 34 #define JFFS2_SUMMARY_DIRENT_SIZE(x) (sizeof(s    
 35 #define JFFS2_SUMMARY_XATTR_SIZE (sizeof(struc    
 36 #define JFFS2_SUMMARY_XREF_SIZE (sizeof(struct    
 37                                                   
 38 /* Summary structures used on flash */            
 39                                                   
 40 struct jffs2_sum_unknown_flash                    
 41 {                                                 
 42         jint16_t nodetype;      /* node type *    
 43 };                                                
 44                                                   
 45 struct jffs2_sum_inode_flash                      
 46 {                                                 
 47         jint16_t nodetype;      /* node type *    
 48         jint32_t inode;         /* inode numbe    
 49         jint32_t version;       /* inode versi    
 50         jint32_t offset;        /* offset on j    
 51         jint32_t totlen;        /* record leng    
 52 } __attribute__((packed));                        
 53                                                   
 54 struct jffs2_sum_dirent_flash                     
 55 {                                                 
 56         jint16_t nodetype;      /* == JFFS_NOD    
 57         jint32_t totlen;        /* record leng    
 58         jint32_t offset;        /* offset on j    
 59         jint32_t pino;          /* parent inod    
 60         jint32_t version;       /* dirent vers    
 61         jint32_t ino;           /* == zero for    
 62         uint8_t nsize;          /* dirent name    
 63         uint8_t type;           /* dirent type    
 64         uint8_t name[]; /* dirent name */         
 65 } __attribute__((packed));                        
 66                                                   
 67 struct jffs2_sum_xattr_flash                      
 68 {                                                 
 69         jint16_t nodetype;      /* == JFFS2_NO    
 70         jint32_t xid;           /* xattr ident    
 71         jint32_t version;       /* version num    
 72         jint32_t offset;        /* offset on j    
 73         jint32_t totlen;        /* node length    
 74 } __attribute__((packed));                        
 75                                                   
 76 struct jffs2_sum_xref_flash                       
 77 {                                                 
 78         jint16_t nodetype;      /* == JFFS2_NO    
 79         jint32_t offset;        /* offset on j    
 80 } __attribute__((packed));                        
 81                                                   
 82 union jffs2_sum_flash                             
 83 {                                                 
 84         struct jffs2_sum_unknown_flash u;         
 85         struct jffs2_sum_inode_flash i;           
 86         struct jffs2_sum_dirent_flash d;          
 87         struct jffs2_sum_xattr_flash x;           
 88         struct jffs2_sum_xref_flash r;            
 89 };                                                
 90                                                   
 91 /* Summary structures used in the memory */       
 92                                                   
 93 struct jffs2_sum_unknown_mem                      
 94 {                                                 
 95         union jffs2_sum_mem *next;                
 96         jint16_t nodetype;      /* node type *    
 97 };                                                
 98                                                   
 99 struct jffs2_sum_inode_mem                        
100 {                                                 
101         union jffs2_sum_mem *next;                
102         jint16_t nodetype;      /* node type *    
103         jint32_t inode;         /* inode numbe    
104         jint32_t version;       /* inode versi    
105         jint32_t offset;        /* offset on j    
106         jint32_t totlen;        /* record leng    
107 } __attribute__((packed));                        
108                                                   
109 struct jffs2_sum_dirent_mem                       
110 {                                                 
111         union jffs2_sum_mem *next;                
112         jint16_t nodetype;      /* == JFFS_NOD    
113         jint32_t totlen;        /* record leng    
114         jint32_t offset;        /* ofset on je    
115         jint32_t pino;          /* parent inod    
116         jint32_t version;       /* dirent vers    
117         jint32_t ino;           /* == zero for    
118         uint8_t nsize;          /* dirent name    
119         uint8_t type;           /* dirent type    
120         uint8_t name[]; /* dirent name */         
121 } __attribute__((packed));                        
122                                                   
123 struct jffs2_sum_xattr_mem                        
124 {                                                 
125         union jffs2_sum_mem *next;                
126         jint16_t nodetype;                        
127         jint32_t xid;                             
128         jint32_t version;                         
129         jint32_t offset;                          
130         jint32_t totlen;                          
131 } __attribute__((packed));                        
132                                                   
133 struct jffs2_sum_xref_mem                         
134 {                                                 
135         union jffs2_sum_mem *next;                
136         jint16_t nodetype;                        
137         jint32_t offset;                          
138 } __attribute__((packed));                        
139                                                   
140 union jffs2_sum_mem                               
141 {                                                 
142         struct jffs2_sum_unknown_mem u;           
143         struct jffs2_sum_inode_mem i;             
144         struct jffs2_sum_dirent_mem d;            
145         struct jffs2_sum_xattr_mem x;             
146         struct jffs2_sum_xref_mem r;              
147 };                                                
148                                                   
149 /* Summary related information stored in super    
150                                                   
151 struct jffs2_summary                              
152 {                                                 
153         uint32_t sum_size;      /* collected s    
154         uint32_t sum_num;                         
155         uint32_t sum_padded;                      
156         union jffs2_sum_mem *sum_list_head;       
157         union jffs2_sum_mem *sum_list_tail;       
158                                                   
159         jint32_t *sum_buf;      /* buffer for     
160 };                                                
161                                                   
162 /* Summary marker is stored at the end of ever    
163                                                   
164 struct jffs2_sum_marker                           
165 {                                                 
166         jint32_t offset;        /* offset of t    
167         jint32_t magic;         /* == JFFS2_SU    
168 };                                                
169                                                   
170 #define JFFS2_SUMMARY_FRAME_SIZE (sizeof(struc    
171                                                   
172 #ifdef CONFIG_JFFS2_SUMMARY     /* SUMMARY SUP    
173                                                   
174 #define jffs2_sum_active() (1)                    
175 int jffs2_sum_init(struct jffs2_sb_info *c);      
176 void jffs2_sum_exit(struct jffs2_sb_info *c);     
177 void jffs2_sum_disable_collecting(struct jffs2    
178 int jffs2_sum_is_disabled(struct jffs2_summary    
179 void jffs2_sum_reset_collected(struct jffs2_su    
180 void jffs2_sum_move_collected(struct jffs2_sb_    
181 int jffs2_sum_add_kvec(struct jffs2_sb_info *c    
182                         unsigned long count,      
183 int jffs2_sum_write_sumnode(struct jffs2_sb_in    
184 int jffs2_sum_add_padding_mem(struct jffs2_sum    
185 int jffs2_sum_add_inode_mem(struct jffs2_summa    
186 int jffs2_sum_add_dirent_mem(struct jffs2_summ    
187 int jffs2_sum_add_xattr_mem(struct jffs2_summa    
188 int jffs2_sum_add_xref_mem(struct jffs2_summar    
189 int jffs2_sum_scan_sumnode(struct jffs2_sb_inf    
190                            struct jffs2_raw_su    
191                            uint32_t *pseudo_ra    
192                                                   
193 #else                           /* SUMMARY DIS    
194                                                   
195 #define jffs2_sum_active() (0)                    
196 #define jffs2_sum_init(a) (0)                     
197 #define jffs2_sum_exit(a) do { } while (0)        
198 #define jffs2_sum_disable_collecting(a)           
199 #define jffs2_sum_is_disabled(a) (0)              
200 #define jffs2_sum_reset_collected(a) do { } wh    
201 #define jffs2_sum_add_kvec(a,b,c,d) (0)           
202 #define jffs2_sum_move_collected(a,b) do { } w    
203 #define jffs2_sum_write_sumnode(a) (0)            
204 #define jffs2_sum_add_padding_mem(a,b) do { }     
205 #define jffs2_sum_add_inode_mem(a,b,c) do { }     
206 #define jffs2_sum_add_dirent_mem(a,b,c) do { }    
207 #define jffs2_sum_add_xattr_mem(a,b,c) do { }     
208 #define jffs2_sum_add_xref_mem(a,b,c) do { } w    
209 #define jffs2_sum_scan_sumnode(a,b,c,d,e) (0)     
210                                                   
211 #endif /* CONFIG_JFFS2_SUMMARY */                 
212                                                   
213 #endif /* JFFS2_SUMMARY_H */                      
214                                                   

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php