diff options
Diffstat (limited to 'e2fsprogs/ext2fs/irel_ma.c')
-rw-r--r-- | e2fsprogs/ext2fs/irel_ma.c | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/e2fsprogs/ext2fs/irel_ma.c b/e2fsprogs/ext2fs/irel_ma.c index eedbe55c8..d9e73f73c 100644 --- a/e2fsprogs/ext2fs/irel_ma.c +++ b/e2fsprogs/ext2fs/irel_ma.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * irel_ma.c | 2 | * irel_ma.c |
3 | * | 3 | * |
4 | * Copyright (C) 1996, 1997 Theodore Ts'o. | 4 | * Copyright (C) 1996, 1997 Theodore Ts'o. |
5 | * | 5 | * |
6 | * %Begin-Header% | 6 | * %Begin-Header% |
@@ -64,7 +64,7 @@ errcode_t ext2fs_irel_memarray_create(char *name, ext2_ino_t max_inode, | |||
64 | { | 64 | { |
65 | ext2_irel irel = 0; | 65 | ext2_irel irel = 0; |
66 | errcode_t retval; | 66 | errcode_t retval; |
67 | struct irel_ma *ma = 0; | 67 | struct irel_ma *ma = 0; |
68 | size_t size; | 68 | size_t size; |
69 | 69 | ||
70 | *new_irel = 0; | 70 | *new_irel = 0; |
@@ -77,18 +77,18 @@ errcode_t ext2fs_irel_memarray_create(char *name, ext2_ino_t max_inode, | |||
77 | if (retval) | 77 | if (retval) |
78 | goto errout; | 78 | goto errout; |
79 | memset(irel, 0, sizeof(struct ext2_inode_relocation_table)); | 79 | memset(irel, 0, sizeof(struct ext2_inode_relocation_table)); |
80 | 80 | ||
81 | retval = ext2fs_get_mem(strlen(name)+1, &irel->name); | 81 | retval = ext2fs_get_mem(strlen(name)+1, &irel->name); |
82 | if (retval) | 82 | if (retval) |
83 | goto errout; | 83 | goto errout; |
84 | strcpy(irel->name, name); | 84 | strcpy(irel->name, name); |
85 | 85 | ||
86 | retval = ext2fs_get_mem(sizeof(struct irel_ma), &ma); | 86 | retval = ext2fs_get_mem(sizeof(struct irel_ma), &ma); |
87 | if (retval) | 87 | if (retval) |
88 | goto errout; | 88 | goto errout; |
89 | memset(ma, 0, sizeof(struct irel_ma)); | 89 | memset(ma, 0, sizeof(struct irel_ma)); |
90 | irel->priv_data = ma; | 90 | irel->priv_data = ma; |
91 | 91 | ||
92 | size = (size_t) (sizeof(ext2_ino_t) * (max_inode+1)); | 92 | size = (size_t) (sizeof(ext2_ino_t) * (max_inode+1)); |
93 | retval = ext2fs_get_mem(size, &ma->orig_map); | 93 | retval = ext2fs_get_mem(size, &ma->orig_map); |
94 | if (retval) | 94 | if (retval) |
@@ -124,7 +124,7 @@ errcode_t ext2fs_irel_memarray_create(char *name, ext2_ino_t max_inode, | |||
124 | irel->move = ima_move; | 124 | irel->move = ima_move; |
125 | irel->delete = ima_delete; | 125 | irel->delete = ima_delete; |
126 | irel->free = ima_free; | 126 | irel->free = ima_free; |
127 | 127 | ||
128 | *new_irel = irel; | 128 | *new_irel = irel; |
129 | return 0; | 129 | return 0; |
130 | 130 | ||
@@ -137,7 +137,7 @@ static errcode_t ima_put(ext2_irel irel, ext2_ino_t old, | |||
137 | struct ext2_inode_relocate_entry *ent) | 137 | struct ext2_inode_relocate_entry *ent) |
138 | { | 138 | { |
139 | struct inode_reference_entry *ref_ent; | 139 | struct inode_reference_entry *ref_ent; |
140 | struct irel_ma *ma; | 140 | struct irel_ma *ma; |
141 | errcode_t retval; | 141 | errcode_t retval; |
142 | size_t size, old_size; | 142 | size_t size, old_size; |
143 | 143 | ||
@@ -153,7 +153,7 @@ static errcode_t ima_put(ext2_irel irel, ext2_ino_t old, | |||
153 | ent->orig = old; | 153 | ent->orig = old; |
154 | else | 154 | else |
155 | ent->orig = ma->entries[(unsigned) old].orig; | 155 | ent->orig = ma->entries[(unsigned) old].orig; |
156 | 156 | ||
157 | /* | 157 | /* |
158 | * If max_refs has changed, reallocate the refs array | 158 | * If max_refs has changed, reallocate the refs array |
159 | */ | 159 | */ |
@@ -176,7 +176,7 @@ static errcode_t ima_put(ext2_irel irel, ext2_ino_t old, | |||
176 | static errcode_t ima_get(ext2_irel irel, ext2_ino_t old, | 176 | static errcode_t ima_get(ext2_irel irel, ext2_ino_t old, |
177 | struct ext2_inode_relocate_entry *ent) | 177 | struct ext2_inode_relocate_entry *ent) |
178 | { | 178 | { |
179 | struct irel_ma *ma; | 179 | struct irel_ma *ma; |
180 | 180 | ||
181 | ma = irel->priv_data; | 181 | ma = irel->priv_data; |
182 | if (old > ma->max_inode) | 182 | if (old > ma->max_inode) |
@@ -190,7 +190,7 @@ static errcode_t ima_get(ext2_irel irel, ext2_ino_t old, | |||
190 | static errcode_t ima_get_by_orig(ext2_irel irel, ext2_ino_t orig, ext2_ino_t *old, | 190 | static errcode_t ima_get_by_orig(ext2_irel irel, ext2_ino_t orig, ext2_ino_t *old, |
191 | struct ext2_inode_relocate_entry *ent) | 191 | struct ext2_inode_relocate_entry *ent) |
192 | { | 192 | { |
193 | struct irel_ma *ma; | 193 | struct irel_ma *ma; |
194 | ext2_ino_t ino; | 194 | ext2_ino_t ino; |
195 | 195 | ||
196 | ma = irel->priv_data; | 196 | ma = irel->priv_data; |
@@ -213,7 +213,7 @@ static errcode_t ima_start_iter(ext2_irel irel) | |||
213 | static errcode_t ima_next(ext2_irel irel, ext2_ino_t *old, | 213 | static errcode_t ima_next(ext2_irel irel, ext2_ino_t *old, |
214 | struct ext2_inode_relocate_entry *ent) | 214 | struct ext2_inode_relocate_entry *ent) |
215 | { | 215 | { |
216 | struct irel_ma *ma; | 216 | struct irel_ma *ma; |
217 | 217 | ||
218 | ma = irel->priv_data; | 218 | ma = irel->priv_data; |
219 | while (++irel->current < ma->max_inode) { | 219 | while (++irel->current < ma->max_inode) { |
@@ -230,7 +230,7 @@ static errcode_t ima_next(ext2_irel irel, ext2_ino_t *old, | |||
230 | static errcode_t ima_add_ref(ext2_irel irel, ext2_ino_t ino, | 230 | static errcode_t ima_add_ref(ext2_irel irel, ext2_ino_t ino, |
231 | struct ext2_inode_reference *ref) | 231 | struct ext2_inode_reference *ref) |
232 | { | 232 | { |
233 | struct irel_ma *ma; | 233 | struct irel_ma *ma; |
234 | size_t size; | 234 | size_t size; |
235 | struct inode_reference_entry *ref_ent; | 235 | struct inode_reference_entry *ref_ent; |
236 | struct ext2_inode_relocate_entry *ent; | 236 | struct ext2_inode_relocate_entry *ent; |
@@ -242,12 +242,12 @@ static errcode_t ima_add_ref(ext2_irel irel, ext2_ino_t ino, | |||
242 | 242 | ||
243 | ref_ent = ma->ref_entries + (unsigned) ino; | 243 | ref_ent = ma->ref_entries + (unsigned) ino; |
244 | ent = ma->entries + (unsigned) ino; | 244 | ent = ma->entries + (unsigned) ino; |
245 | 245 | ||
246 | /* | 246 | /* |
247 | * If the inode reference array doesn't exist, create it. | 247 | * If the inode reference array doesn't exist, create it. |
248 | */ | 248 | */ |
249 | if (ref_ent->refs == 0) { | 249 | if (ref_ent->refs == 0) { |
250 | size = (size_t) ((sizeof(struct ext2_inode_reference) * | 250 | size = (size_t) ((sizeof(struct ext2_inode_reference) * |
251 | ent->max_refs)); | 251 | ent->max_refs)); |
252 | retval = ext2fs_get_mem(size, &ref_ent->refs); | 252 | retval = ext2fs_get_mem(size, &ref_ent->refs); |
253 | if (retval) | 253 | if (retval) |
@@ -265,7 +265,7 @@ static errcode_t ima_add_ref(ext2_irel irel, ext2_ino_t ino, | |||
265 | 265 | ||
266 | static errcode_t ima_start_iter_ref(ext2_irel irel, ext2_ino_t ino) | 266 | static errcode_t ima_start_iter_ref(ext2_irel irel, ext2_ino_t ino) |
267 | { | 267 | { |
268 | struct irel_ma *ma; | 268 | struct irel_ma *ma; |
269 | 269 | ||
270 | ma = irel->priv_data; | 270 | ma = irel->priv_data; |
271 | if (ino > ma->max_inode) | 271 | if (ino > ma->max_inode) |
@@ -280,11 +280,11 @@ static errcode_t ima_start_iter_ref(ext2_irel irel, ext2_ino_t ino) | |||
280 | static errcode_t ima_next_ref(ext2_irel irel, | 280 | static errcode_t ima_next_ref(ext2_irel irel, |
281 | struct ext2_inode_reference *ref) | 281 | struct ext2_inode_reference *ref) |
282 | { | 282 | { |
283 | struct irel_ma *ma; | 283 | struct irel_ma *ma; |
284 | struct inode_reference_entry *ref_ent; | 284 | struct inode_reference_entry *ref_ent; |
285 | 285 | ||
286 | ma = irel->priv_data; | 286 | ma = irel->priv_data; |
287 | 287 | ||
288 | ref_ent = ma->ref_entries + ma->ref_current; | 288 | ref_ent = ma->ref_entries + ma->ref_current; |
289 | 289 | ||
290 | if ((ref_ent->refs == NULL) || | 290 | if ((ref_ent->refs == NULL) || |
@@ -300,19 +300,19 @@ static errcode_t ima_next_ref(ext2_irel irel, | |||
300 | 300 | ||
301 | static errcode_t ima_move(ext2_irel irel, ext2_ino_t old, ext2_ino_t new) | 301 | static errcode_t ima_move(ext2_irel irel, ext2_ino_t old, ext2_ino_t new) |
302 | { | 302 | { |
303 | struct irel_ma *ma; | 303 | struct irel_ma *ma; |
304 | 304 | ||
305 | ma = irel->priv_data; | 305 | ma = irel->priv_data; |
306 | if ((old > ma->max_inode) || (new > ma->max_inode)) | 306 | if ((old > ma->max_inode) || (new > ma->max_inode)) |
307 | return EXT2_ET_INVALID_ARGUMENT; | 307 | return EXT2_ET_INVALID_ARGUMENT; |
308 | if (ma->entries[(unsigned) old].new == 0) | 308 | if (ma->entries[(unsigned) old].new == 0) |
309 | return ENOENT; | 309 | return ENOENT; |
310 | 310 | ||
311 | ma->entries[(unsigned) new] = ma->entries[(unsigned) old]; | 311 | ma->entries[(unsigned) new] = ma->entries[(unsigned) old]; |
312 | if (ma->ref_entries[(unsigned) new].refs) | 312 | if (ma->ref_entries[(unsigned) new].refs) |
313 | ext2fs_free_mem(&ma->ref_entries[(unsigned) new].refs); | 313 | ext2fs_free_mem(&ma->ref_entries[(unsigned) new].refs); |
314 | ma->ref_entries[(unsigned) new] = ma->ref_entries[(unsigned) old]; | 314 | ma->ref_entries[(unsigned) new] = ma->ref_entries[(unsigned) old]; |
315 | 315 | ||
316 | ma->entries[(unsigned) old].new = 0; | 316 | ma->entries[(unsigned) old].new = 0; |
317 | ma->ref_entries[(unsigned) old].num = 0; | 317 | ma->ref_entries[(unsigned) old].num = 0; |
318 | ma->ref_entries[(unsigned) old].refs = 0; | 318 | ma->ref_entries[(unsigned) old].refs = 0; |
@@ -323,19 +323,19 @@ static errcode_t ima_move(ext2_irel irel, ext2_ino_t old, ext2_ino_t new) | |||
323 | 323 | ||
324 | static errcode_t ima_delete(ext2_irel irel, ext2_ino_t old) | 324 | static errcode_t ima_delete(ext2_irel irel, ext2_ino_t old) |
325 | { | 325 | { |
326 | struct irel_ma *ma; | 326 | struct irel_ma *ma; |
327 | 327 | ||
328 | ma = irel->priv_data; | 328 | ma = irel->priv_data; |
329 | if (old > ma->max_inode) | 329 | if (old > ma->max_inode) |
330 | return EXT2_ET_INVALID_ARGUMENT; | 330 | return EXT2_ET_INVALID_ARGUMENT; |
331 | if (ma->entries[(unsigned) old].new == 0) | 331 | if (ma->entries[(unsigned) old].new == 0) |
332 | return ENOENT; | 332 | return ENOENT; |
333 | 333 | ||
334 | ma->entries[old].new = 0; | 334 | ma->entries[old].new = 0; |
335 | if (ma->ref_entries[(unsigned) old].refs) | 335 | if (ma->ref_entries[(unsigned) old].refs) |
336 | ext2fs_free_mem(&ma->ref_entries[(unsigned) old].refs); | 336 | ext2fs_free_mem(&ma->ref_entries[(unsigned) old].refs); |
337 | ma->orig_map[ma->entries[(unsigned) old].orig] = 0; | 337 | ma->orig_map[ma->entries[(unsigned) old].orig] = 0; |
338 | 338 | ||
339 | ma->ref_entries[(unsigned) old].num = 0; | 339 | ma->ref_entries[(unsigned) old].num = 0; |
340 | ma->ref_entries[(unsigned) old].refs = 0; | 340 | ma->ref_entries[(unsigned) old].refs = 0; |
341 | return 0; | 341 | return 0; |
@@ -343,7 +343,7 @@ static errcode_t ima_delete(ext2_irel irel, ext2_ino_t old) | |||
343 | 343 | ||
344 | static errcode_t ima_free(ext2_irel irel) | 344 | static errcode_t ima_free(ext2_irel irel) |
345 | { | 345 | { |
346 | struct irel_ma *ma; | 346 | struct irel_ma *ma; |
347 | ext2_ino_t ino; | 347 | ext2_ino_t ino; |
348 | 348 | ||
349 | if (!irel) | 349 | if (!irel) |