lessfs  1.7.0
About: Lessfs is a inline data deduplicating file system for Linux (implemented in user space with FUSE; especially useful for backup purposes).
  Fossies Dox: lessfs-1.7.0.tar.gz  ("inofficial" and yet experimental doxygen-generated source code documentation)  

lib_common.h
Go to the documentation of this file.
1 #define die_dberr(f...) { LFATAL(f); exit(EXIT_DBERR); }
2 #define die_dataerr(f...) { LFATAL(f); exit(EXIT_DATAERR); }
3 #define die_syserr() { LFATAL("Fatal system error : %s",strerror(errno)); exit(EXIT_SYSTEM); }
4 
5 #define LOCK 1
6 #define NOLOCK 0
7 #define MAX_THREADS 1
8 #define MAX_POSIX_FILENAME_LEN 256
9 #define MAX_FUSE_BLKSIZE 131072
10 #define METAQSIZE 2048
11 #define MAX_HASH_LEN 64
12 #define CACHE_MAX_AGE 3
13 #define MAX_ALLOWED_THREADS 1024
14 /* Used for debugging locking */
15 #define GLOBAL_LOCK_TIMEOUT 7200 //Since deleting or truncating can take a long time...
16 #define LOCK_TIMEOUT 3600
17 #define MAX_META_CACHE 100000 //This consumes approx 1.5 MB memory
18 #define ROTATE_REPLOG_SIZE 1073741824
19 #define RECLAIM_AGRESSIVE 128
20 #define HIGH_PRIO 0
21 #define MEDIUM_PRIO 1
22 #define LOW_PRIO 2
23 #define MAX_CHUNK_DEPTH 5
24 #define LFSSMALL 0 // Filesystem <=1TB & BDB
25 #define LFSMEDIUM 1 // Filesystem <=10TB & BDB
26 #define LFSHUGE 2 // Filesystem >10TB & BDB
27 
28 typedef unsigned long long int word64;
29 typedef unsigned long word32;
30 typedef unsigned char byte;
31 void tiger(byte *, word64, word64 *);
32 
34 
35 typedef struct {
36  unsigned long long offset;
37  unsigned long size;
38  unsigned long long allocated_size;
39  unsigned long long inuse;
40 } INUSE;
41 
42 typedef struct {
43  unsigned long long offset;
44  unsigned long size;
45  unsigned long long inuse;
46 } OLDINUSE;
47 
48 typedef struct {
49  unsigned long long inode;
50  unsigned long long blocknr;
51 } INOBNO;
52 
53 typedef struct {
54  //unsigned int snapshotnr;
55  unsigned long long dirnode;
56  unsigned long long inode;
57 } DINOINO;
58 
59 typedef struct {
60  unsigned long size;
61  unsigned char *data;
62 } DAT;
63 
64 typedef struct {
65  struct stat stbuf;
66  unsigned long long real_size;
67  char filename[MAX_POSIX_FILENAME_LEN + 1];
68 } DDSTAT;
69 
70 typedef struct {
71  char passwd[64];
72  char iv[8];
73 } CRYPTO;
74 
75 typedef struct {
76  struct stat stbuf;
77  unsigned int updated;
78  unsigned long long blocknr;
79  unsigned int opened;
80  unsigned long long real_size;
81  char filename[MAX_POSIX_FILENAME_LEN + 1];
82 } MEMDDSTAT;
83 
85  unsigned long long blocknr;
86  unsigned long long lastblocknr;
87  unsigned long long inode;
88  unsigned int offsetblock;
89  struct stat stbuf;
90  bool unlink;
91 };
92 
93 typedef struct {
94  unsigned char data[MAX_FUSE_BLKSIZE];
95  unsigned long datasize;
96  unsigned char hash[MAX_HASH_LEN];
97  int dirty;
98  time_t creationtime;
99  int pending;
100  char newblock;
101  unsigned long updated;
102 } CCACHEDTA;
103 
104 static inline CCACHEDTA *get_ccachedta(uintptr_t p)
105 {
106  return (CCACHEDTA *) p;
107 }
108 
109 unsigned char *thash(unsigned char *, int);
110 void check_datafile_sanity();
111 int fs_readlink(const char *, char *, size_t);
112 int fs_symlink(char *, char *);
113 void invalidate_p2i(char *);
114 void erase_p2i();
115 void cache_p2i(char *, struct stat *);
116 void logiv(char *, unsigned char *);
117 void loghash(char *, unsigned char *);
118 void log_fatal_hash(char *, unsigned char *);
119 void create_hash_note(unsigned char *);
120 void wait_hash_pending(unsigned char *);
121 void delete_hash_note(unsigned char *);
122 void create_inode_note(unsigned long long);
123 void wait_inode_pending(unsigned long long);
124 int inode_isnot_locked(unsigned long long);
125 void wait_inode_pending2(unsigned long long);
126 void delete_inode_note(unsigned long long);
127 void die_lock_report(const char *, const char *);
128 void get_global_lock(const char *);
129 void get_global_lock(const char *);
130 int try_global_lock();
131 void release_global_lock();
132 void write_lock(const char *);
133 void release_write_lock();
134 int try_write_lock();
135 void get_hash_lock(const char *);
136 void release_hash_lock();
137 void get_inode_lock(const char *);
138 void release_inode_lock();
139 void get_offset_lock(const char *);
140 void release_offset_lock();
141 void meta_lock(const char *);
142 void repl_lock(const char *);
143 void release_repl_lock();
144 void release_replbl_lock();
145 void release_meta_lock();
146 int try_meta_lock();
147 void trunc_lock();
148 void release_trunc_lock();
149 void truncation_wait();
152 DAT *create_ddbuf(struct stat, char *, unsigned long long);
153 void dbmknod(const char *, mode_t, char *, dev_t);
154 int get_realsize_fromcache(unsigned long long, struct stat *);
155 int dbstat(const char *, struct stat *, bool);
156 void comprfree(compr *);
157 void memddstatfree(MEMDDSTAT *);
158 MEMDDSTAT *value_tomem_ddstat(char *, int);
159 void ddstatfree(DDSTAT *);
160 int path_from_cache(char *, struct stat *);
161 int get_dir_inode(char *, struct stat *, bool);
162 void formatfs();
163 void write_file_ent(const char *, unsigned long long, mode_t mode, char *,
164  dev_t);
165 void write_nfi(unsigned long long);
166 void write_seq(unsigned long);
167 DAT *lfsdecompress(DAT *);
168 void auto_repair(INOBNO *);
169 unsigned long long readBlock(unsigned long long,
170  char *, size_t, size_t, unsigned long long);
171 void delete_inuse(unsigned char *);
172 void delete_dbb(INOBNO *);
173 unsigned long long getInUse(unsigned char *);
174 void DATfree(DAT *);
175 void update_inuse(unsigned char *, unsigned long long);
176 unsigned long long get_next_inode();
177 MEMDDSTAT *inode_meta_from_cache(unsigned long long);
178 void update_filesize_onclose(unsigned long long);
179 int update_filesize_cache(struct stat *, off_t);
180 void update_filesize(unsigned long long, unsigned long long,
181  unsigned int, unsigned long long);
182 void hash_update_filesize(MEMDDSTAT *, unsigned long long);
183 DAT *lfscompress(unsigned char *, unsigned long);
185 int fs_mkdir(const char *, mode_t);
186 int db_unlink_file(const char *);
187 void partial_truncate_block(unsigned long long, unsigned long long,
188  unsigned int);
189 void *tc_truncate_worker(void *);
190 DAT *search_dbdata(int, void *key, int, bool);
191 DDSTAT *dnode_bname_to_inode(void *, int, char *);
192 char *lessfs_stats();
193 int count_dirlinks(void *, int);
194 struct tm *init_transactions();
195 int update_parent_time(char *, int);
196 int update_stat(char *, struct stat *);
197 void flush_wait(unsigned long long);
198 void db_close(bool);
199 void cook_cache(char *, int, CCACHEDTA *, unsigned long);
200 unsigned long long get_inode(const char *);
201 void purge_read_cache(unsigned long long, bool, char *);
202 void update_meta(unsigned long long, unsigned long, int);
203 void lessfs_trans_stamp();
204 int db_fs_truncate(struct stat *, off_t, char *, bool);
206 void tc_write_cache(CCACHEDTA *, INOBNO *);
207 void db_delete_stored(INOBNO *);
208 void fil_fuse_info(DDSTAT *, void *, fuse_fill_dir_t,
209  struct fuse_file_info *);
210 void locks_to_dir(void *, fuse_fill_dir_t, struct fuse_file_info *);
211 int lckname_to_stat(char *, struct stat *);
212 int fs_link(char *, char *);
213 int fs_rename_link(const char *, const char *, struct stat);
214 int fs_rename(const char *, const char *, struct stat);
215 int fs_rmdir(const char *);
216 void clear_dirty();
217 void parseconfig(int, bool);
218 void sync_all_filesizes();
219 int get_blocksize();
220 void brand_blocksize();
221 void btbin_write_dup(int database, void *, int, void *, int, bool);
222 void checkpasswd(char *);
223 int try_offset_lock();
224 int try_hash_lock();
225 int try_repl_lock();
226 int try_replbl_lock();
227 void worker_lock();
228 void release_worker_lock();
229 void cachep2i_lock(const char *);
230 void release_cachep2i_lock();
231 int try_cachep2i_lock();
232 unsigned long get_sequence();
233 void next_sequence();
234 char *ascii_hash(unsigned char *);
235 void open_trees();
236 void close_trees();
237 INUSE *get_offset(unsigned long long);
238 void inobnolistsort(TCLIST *list);
239 void mkchunk_dir(char *);
240 unsigned char *hash_to_ascii(unsigned char *);
CCACHEDTA::updated
unsigned long updated
Definition: lib_common.h:101
MAX_POSIX_FILENAME_LEN
#define MAX_POSIX_FILENAME_LEN
Definition: lib_common.h:8
logiv
void logiv(char *, unsigned char *)
Definition: lib_common.c:423
delete_inode_note
void delete_inode_note(unsigned long long)
Definition: lib_common.c:587
CCACHEDTA
Definition: lib_common.h:93
thash
unsigned char * thash(unsigned char *, int)
Definition: lib_common.c:216
fs_mkdir
int fs_mkdir(const char *, mode_t)
Definition: lib_common.c:2109
formatfs
void formatfs()
Definition: lib_common.c:1455
readBlock
unsigned long long readBlock(unsigned long long, char *, size_t, size_t, unsigned long long)
Definition: lib_common.c:1613
MULTIFILE_IO
Definition: lib_common.h:33
btbin_write_dup
void btbin_write_dup(int database, void *, int, void *, int, bool)
Definition: lib_tc.c:581
word32
unsigned long word32
Definition: lib_common.h:29
release_worker_lock
void release_worker_lock()
Definition: lib_common.c:872
release_write_lock
void release_write_lock()
Definition: lib_common.c:694
OLDINUSE::size
unsigned long size
Definition: lib_common.h:44
db_unlink_file
int db_unlink_file(const char *)
Definition: lib_common.c:1980
log_fatal_hash
void log_fatal_hash(char *, unsigned char *)
Definition: lib_common.c:456
meta_lock
void meta_lock(const char *)
Definition: lib_common.c:880
trunc_lock
void trunc_lock()
Definition: lib_common.c:950
CCACHEDTA::newblock
char newblock
Definition: lib_common.h:100
create_mem_ddbuf
DAT * create_mem_ddbuf(MEMDDSTAT *)
Definition: lib_common.c:975
FILE_IO
Definition: lib_common.h:33
dbstat
int dbstat(const char *, struct stat *, bool)
Definition: lib_common.c:1204
close_trees
void close_trees()
Definition: lib_common.c:3912
MEMDDSTAT::blocknr
unsigned long long blocknr
Definition: lib_common.h:78
cachep2i_lock
void cachep2i_lock(const char *)
Definition: lib_common.c:701
DAT
Definition: lib_common.h:59
CCACHEDTA::dirty
int dirty
Definition: lib_common.h:97
CRYPTO
Definition: lib_common.h:70
sync_all_filesizes
void sync_all_filesizes()
Definition: lib_common.c:3789
release_replbl_lock
void release_replbl_lock()
Definition: lib_common.c:929
fs_rename_link
int fs_rename_link(const char *, const char *, struct stat)
Definition: lib_common.c:3121
value_tomem_ddstat
MEMDDSTAT * value_tomem_ddstat(char *, int)
Definition: lib_common.c:1270
write_seq
void write_seq(unsigned long)
Definition: lib_common.c:1416
wait_inode_pending
void wait_inode_pending(unsigned long long)
Definition: lib_common.c:539
update_filesize_cache
int update_filesize_cache(struct stat *, off_t)
Definition: lib_common.c:1815
truncate_thread_data::stbuf
struct stat stbuf
Definition: lib_common.h:89
ascii_hash
char * ascii_hash(unsigned char *)
Definition: lib_common.c:3880
DAT::data
unsigned char * data
Definition: lib_common.h:61
INUSE::size
unsigned long size
Definition: lib_common.h:37
get_dir_inode
int get_dir_inode(char *, struct stat *, bool)
Definition: lib_common.c:1103
write_trunc_todolist
void write_trunc_todolist(struct truncate_thread_data *)
Definition: lib_common.c:2847
die_lock_report
void die_lock_report(const char *, const char *)
Definition: lib_common.c:595
fs_readlink
int fs_readlink(const char *, char *, size_t)
Definition: lib_common.c:310
db_close
void db_close(bool)
Definition: lib_common.c:2551
passwd
char * passwd
release_cachep2i_lock
void release_cachep2i_lock()
Definition: lib_common.c:721
tc_write_cache
void tc_write_cache(CCACHEDTA *, INOBNO *)
Definition: lib_common.c:2863
ddstatfree
void ddstatfree(DDSTAT *)
Definition: lib_common.c:1261
wait_inode_pending2
void wait_inode_pending2(unsigned long long)
Definition: lib_common.c:569
lessfs_stats
char * lessfs_stats()
Definition: lib_tc.c:1491
write_nfi
void write_nfi(unsigned long long)
Definition: lib_common.c:1409
MEMDDSTAT::opened
unsigned int opened
Definition: lib_common.h:79
INUSE::offset
unsigned long long offset
Definition: lib_common.h:36
MAX_HASH_LEN
#define MAX_HASH_LEN
Definition: lib_common.h:11
try_write_lock
int try_write_lock()
Definition: lib_common.c:735
release_offset_lock
void release_offset_lock()
Definition: lib_common.c:842
repl_lock
void repl_lock(const char *)
Definition: lib_common.c:902
release_repl_lock
void release_repl_lock()
Definition: lib_common.c:923
truncate_thread_data::inode
unsigned long long inode
Definition: lib_common.h:87
update_filesize_onclose
void update_filesize_onclose(unsigned long long)
Definition: lib_common.c:1800
OLDINUSE
Definition: lib_common.h:42
CCACHEDTA::creationtime
time_t creationtime
Definition: lib_common.h:98
count_dirlinks
int count_dirlinks(void *, int)
Definition: lib_tc.c:976
create_ddbuf
DAT * create_ddbuf(struct stat, char *, unsigned long long)
Definition: lib_common.c:1023
try_hash_lock
int try_hash_lock()
Definition: lib_common.c:773
getInUse
unsigned long long getInUse(unsigned char *)
Definition: lib_common.c:1721
get_offset_lock
void get_offset_lock(const char *)
Definition: lib_common.c:820
try_global_lock
int try_global_lock()
Definition: lib_common.c:645
fs_rmdir
int fs_rmdir(const char *)
Definition: lib_common.c:3272
dbmknod
void dbmknod(const char *, mode_t, char *, dev_t)
Definition: lib_common.c:1066
word64
unsigned long long int word64
Definition: lib_common.h:28
partial_truncate_block
void partial_truncate_block(unsigned long long, unsigned long long, unsigned int)
Definition: lib_common.c:2270
INOBNO
Definition: lib_common.h:48
try_offset_lock
int try_offset_lock()
Definition: lib_common.c:742
locks_to_dir
void locks_to_dir(void *, fuse_fill_dir_t, struct fuse_file_info *)
Definition: lib_common.c:2944
purge_read_cache
void purge_read_cache(unsigned long long, bool, char *)
Definition: lib_common.c:2645
erase_p2i
void erase_p2i()
Definition: lib_common.c:343
write_lock
void write_lock(const char *)
Definition: lib_common.c:674
release_trunc_lock
void release_trunc_lock()
Definition: lib_common.c:958
get_sequence
unsigned long get_sequence()
Definition: lib_common.c:1428
inobnolistsort
void inobnolistsort(TCLIST *list)
Definition: lib_common.c:381
DINOINO::dirnode
unsigned long long dirnode
Definition: lib_common.h:55
truncate_thread_data::unlink
bool unlink
Definition: lib_common.h:90
get_blocksize
int get_blocksize()
Definition: lib_common.c:3805
INOBNO::blocknr
unsigned long long blocknr
Definition: lib_common.h:50
tiger
void tiger(byte *, word64, word64 *)
delete_dbb
void delete_dbb(INOBNO *)
Definition: lib_common.c:1713
get_hash_lock
void get_hash_lock(const char *)
Definition: lib_common.c:751
db_fs_truncate
int db_fs_truncate(struct stat *, off_t, char *, bool)
Definition: lib_common.c:2800
INOBNO::inode
unsigned long long inode
Definition: lib_common.h:49
brand_blocksize
void brand_blocksize()
Definition: lib_common.c:3841
update_stat
int update_stat(char *, struct stat *)
Definition: lib_common.c:2504
MEMDDSTAT::real_size
unsigned long long real_size
Definition: lib_common.h:80
create_inode_note
void create_inode_note(unsigned long long)
Definition: lib_common.c:530
memddstatfree
void memddstatfree(MEMDDSTAT *)
Definition: lib_common.c:1278
comprfree
void comprfree(compr *)
Definition: lib_common.c:1288
auto_repair
void auto_repair(INOBNO *)
Definition: lib_common.c:1605
lfscompress
DAT * lfscompress(unsigned char *, unsigned long)
Definition: lib_common.c:2191
compr
Definition: lib_safe.h:31
loghash
void loghash(char *, unsigned char *)
Definition: lib_common.c:451
get_inode
unsigned long long get_inode(const char *)
Definition: lib_common.c:2632
hash_to_ascii
unsigned char * hash_to_ascii(unsigned char *)
Definition: lib_common.c:478
path_from_cache
int path_from_cache(char *, struct stat *)
Definition: lib_common.c:1167
DINOINO
Definition: lib_common.h:53
update_parent_time
int update_parent_time(char *, int)
Definition: lib_common.c:2481
byte
unsigned char byte
Definition: lib_common.h:30
mkchunk_dir
void mkchunk_dir(char *)
Definition: lib_common.c:157
release_global_lock
void release_global_lock()
Definition: lib_common.c:637
cook_cache
void cook_cache(char *, int, CCACHEDTA *, unsigned long)
Definition: lib_common.c:2615
DATfree
void DATfree(DAT *)
Definition: lib_common.c:1744
release_meta_lock
void release_meta_lock()
Definition: lib_common.c:935
CCACHEDTA::datasize
unsigned long datasize
Definition: lib_common.h:95
try_replbl_lock
int try_replbl_lock()
Definition: lib_common.c:664
MAX_FUSE_BLKSIZE
#define MAX_FUSE_BLKSIZE
Definition: lib_common.h:9
IOTYPE
IOTYPE
Definition: lib_common.h:33
delete_inuse
void delete_inuse(unsigned char *)
Definition: lib_common.c:1706
release_hash_lock
void release_hash_lock()
Definition: lib_common.c:782
truncate_thread_data::lastblocknr
unsigned long long lastblocknr
Definition: lib_common.h:86
check_block_exists
DAT * check_block_exists(INOBNO *)
Definition: lib_common.c:1971
next_sequence
void next_sequence()
Definition: lib_common.c:1444
create_hash_note
void create_hash_note(unsigned char *)
Definition: lib_common.c:499
MEMDDSTAT::updated
unsigned int updated
Definition: lib_common.h:77
dnode_bname_to_inode
DDSTAT * dnode_bname_to_inode(void *, int, char *)
Definition: lib_tc.c:706
get_realsize_fromcache
int get_realsize_fromcache(unsigned long long, struct stat *)
Definition: lib_common.c:1080
truncation_wait
void truncation_wait()
Definition: lib_common.c:966
try_repl_lock
int try_repl_lock()
Definition: lib_common.c:655
cache_p2i
void cache_p2i(char *, struct stat *)
Definition: lib_common.c:385
DAT::size
unsigned long size
Definition: lib_common.h:60
parseconfig
void parseconfig(int, bool)
Definition: lib_common.c:3343
update_meta
void update_meta(unsigned long long, unsigned long, int)
Definition: lib_common.c:2716
wait_hash_pending
void wait_hash_pending(unsigned char *)
Definition: lib_common.c:508
update_inuse
void update_inuse(unsigned char *, unsigned long long)
Definition: lib_common.c:1751
open_trees
void open_trees()
Definition: lib_common.c:3902
DDSTAT::real_size
unsigned long long real_size
Definition: lib_common.h:66
clear_dirty
void clear_dirty()
Definition: lib_common.c:3331
update_filesize
void update_filesize(unsigned long long, unsigned long long, unsigned int, unsigned long long)
Definition: lib_common.c:1880
db_delete_stored
void db_delete_stored(INOBNO *)
Definition: lib_common.c:2899
release_inode_lock
void release_inode_lock()
Definition: lib_common.c:812
truncate_thread_data::blocknr
unsigned long long blocknr
Definition: lib_common.h:85
INUSE
Definition: lib_common.h:35
delete_hash_note
void delete_hash_note(unsigned char *)
Definition: lib_common.c:522
tc_truncate_worker
void * tc_truncate_worker(void *)
Definition: lib_common.c:2337
OLDINUSE::offset
unsigned long long offset
Definition: lib_common.h:43
INUSE::allocated_size
unsigned long long allocated_size
Definition: lib_common.h:38
lckname_to_stat
int lckname_to_stat(char *, struct stat *)
Definition: lib_common.c:2968
search_dbdata
DAT * search_dbdata(int, void *key, int, bool)
Definition: lib_tc.c:816
inode_meta_from_cache
MEMDDSTAT * inode_meta_from_cache(unsigned long long)
Definition: lib_common.c:1783
DDSTAT
Definition: lib_common.h:64
check_datafile_sanity
void check_datafile_sanity()
Definition: lib_common.c:230
MEMDDSTAT
Definition: lib_common.h:75
TOKYOCABINET
Definition: lib_common.h:33
truncate_thread_data
Definition: lib_common.h:84
get_global_lock
void get_global_lock(const char *)
Definition: lib_common.c:616
fil_fuse_info
void fil_fuse_info(DDSTAT *, void *, fuse_fill_dir_t, struct fuse_file_info *)
Definition: lib_common.c:2927
get_inode_lock
void get_inode_lock(const char *)
Definition: lib_common.c:790
flush_wait
void flush_wait(unsigned long long)
Definition: lib_common.c:2564
fs_rename
int fs_rename(const char *, const char *, struct stat)
Definition: lib_common.c:3183
init_transactions
struct tm * init_transactions()
Definition: lib_common.c:2438
checkpasswd
void checkpasswd(char *)
DINOINO::inode
unsigned long long inode
Definition: lib_common.h:56
get_ccachedta
static CCACHEDTA * get_ccachedta(uintptr_t p)
Definition: lib_common.h:104
fs_link
int fs_link(char *, char *)
Definition: lib_common.c:3001
fs_symlink
int fs_symlink(char *, char *)
Definition: lib_common.c:298
CHUNK_IO
Definition: lib_common.h:33
try_cachep2i_lock
int try_cachep2i_lock()
Definition: lib_common.c:727
OLDINUSE::inuse
unsigned long long inuse
Definition: lib_common.h:45
try_meta_lock
int try_meta_lock()
Definition: lib_common.c:943
inode_isnot_locked
int inode_isnot_locked(unsigned long long)
Definition: lib_common.c:554
INUSE::inuse
unsigned long long inuse
Definition: lib_common.h:39
truncate_thread_data::offsetblock
unsigned int offsetblock
Definition: lib_common.h:88
lessfs_trans_stamp
void lessfs_trans_stamp()
Definition: lib_common.c:2771
write_file_ent
void write_file_ent(const char *, unsigned long long, mode_t mode, char *, dev_t)
Definition: lib_common.c:1294
CCACHEDTA::pending
int pending
Definition: lib_common.h:99
invalidate_p2i
void invalidate_p2i(char *)
Definition: lib_common.c:335
hash_update_filesize
void hash_update_filesize(MEMDDSTAT *, unsigned long long)
Definition: lib_common.c:1952
get_offset
INUSE * get_offset(unsigned long long)
Definition: lib_common.c:249
worker_lock
void worker_lock()
value_to_ddstat
DDSTAT * value_to_ddstat(DAT *)
Definition: lib_common.c:986
get_next_inode
unsigned long long get_next_inode()
Definition: lib_common.c:1766
lfsdecompress
DAT * lfsdecompress(DAT *)
Definition: lib_common.c:1527