blob: 0817d54f961b1363e1e1ff1b0c6fcb2f476e1332 [file] [log] [blame]
Theodore Ts'o57dca852000-07-04 19:20:25 +000012000-07-04 Theodore Ts'o <tytso@valinux.com>
2
Theodore Ts'o8f13d8c2000-07-04 19:41:29 +00003 * ext2fs.h: Update to include latest journalling additions to the
4 superblock.
5
Theodore Ts'o57dca852000-07-04 19:20:25 +00006 * dll/jump.funcs: Add new jumptable entries for
7 ext2fs_write_bb_FILE, ext2fs_read_bb_FILE2, and
8 ext2fs_badblocks_equal.
9
10 * tst_badblocks.c: Update test program to test
11 ext2fs_read_bb_FILE2 and ext2fs_write_FILE.
12
13 * write_bb_file.c (ext2fs_write_bb_FILE): New function which
14 writes out bad blocks list to a file.
15
16 * read_bb_file.c (ext2fs_read_bb_FILE2): Add new function which
17 changes the callback function to take two additional
18 arguments; a private blind pointer supplied by the caller,
19 and pointer to a char * containing a pointer to the
20 invalid string.
21
22 * badblocks.c (ext2fs_badblocks_equal): Add new function which
23 returns true if two badblocks list are equal.
24
25 * Makefile.in: Remove explicit link of -lc in the shared library.
26 (It shouldn't be necessary, and is harmful in some cases).
27
Theodore Ts'oabf7d382000-06-10 19:27:17 +0000282000-06-10 Theodore Ts'o <tytso@valinux.com>
29
30 * getsize.c (main): Add debugging code under #ifdef DEBUG
31
Theodore Ts'o2e8d40d2000-05-27 15:15:40 +0000322000-05-27 Theodore Ts'o <tytso@valinux.com>
33
34 * mkdir.c (ext2fs_mkdir): Read the parent directory's inode
35 earlier, so that if there's an error reading it, we can
36 more cleanly back out of the operation.
37
Theodore Ts'of0f4acb2000-05-25 23:22:11 +0000382000-05-25 <tytso@snap.thunk.org>
39
Theodore Ts'odc5f68c2000-05-25 23:31:54 +000040 * getsize.c (ext2fs_get_device_size): Use open64() instead of
Theodore Ts'o7fd86d32000-05-25 23:42:22 +000041 open() if it exists. Under linux, manually define the
42 ioctl for BLKGETSIZE if it isn't already defined and it's
43 safe to do so.
Theodore Ts'odc5f68c2000-05-25 23:31:54 +000044
45 * unix_io.c (unix_open): Use open64() instead of open() if it
46 exists.
47
48 * llseek.c: Simplify header includes of unistd.h. If lseek64 is
49 available (and prototypes are defined) use it in
50 preference to llseek.
51
Theodore Ts'of0f4acb2000-05-25 23:22:11 +000052 * Makefile: Add hack dependency rule so that parallel makes work
53 correctly.
54
Theodore Ts'ofa7ef712000-05-19 02:11:41 +0000552000-05-18 Theodore Ts'o <tytso@valinux.com>
56
57 * ext2fs.h: Add appropriate ifdef's to support C++ compilation.
58
Theodore Ts'oe589f672000-04-03 13:45:40 +0000592000-04-03 Theodore Ts'o <tytso@valinux.com>
60
Theodore Ts'o06af47f2000-04-03 13:51:00 +000061 * block.c: Readibility tweak in conditionals involving
62 ctx->fs->flags.
63
Theodore Ts'oe589f672000-04-03 13:45:40 +000064 * ext2fs.h: Use AUTOCONF SIZEOF_* macros if available to determine
65 how to define __s64 and __u64. Turn off "compression is
66 experimental" warning if the cpp macro
67 I_KNOW_THAT_COMPRESSION_IS_EXPERIMENTAL is defined.
68
Theodore Ts'o2c1a0ce2000-02-11 15:39:19 +0000692000-02-11 <tytso@snap.thunk.org>
70
Theodore Ts'o5a63dd22000-02-11 15:44:08 +000071 * ext2fs.h: Define EXT2FS_COMPRESSED_BLKADDR and HOLE_BLKADDR.
72 Conditionally include Compression as a supported type if
73 ENABLE_COMPRESSION (via --enable-compression) is turned on.
74
Theodore Ts'o2c1a0ce2000-02-11 15:39:19 +000075 * swapfs.c (ext2fs_swap_super): Swap the compression usage bitmap.
76
Theodore Ts'o28ffafb2000-02-08 19:14:02 +0000772000-02-08 <tytso@snap.thunk.org>
78
79 * bitops.h (ext2fs_mark_generic_bitmap, ext2fs_unmark_generic_bitmap,
80 ext2fs_mark_block_bitmap, ext2fs_unmark_block_bitmap,
81 ext2fs_mark_inode_bitmap, ext2fs_unmark_inode_bitmap):
82 Change to return the previous state of the bit that is
83 being marked or unmarked. For speed optimization.
84
Theodore Ts'o80e808f2000-02-02 16:19:59 +0000852000-02-02 Theodore Ts'o <tytso@valinux.com>
86
87 * getsize.c, ismounted.c: Remove unneeded include of linux/fs.h
88
89 * swapfs.c: Remove #ifdef HAVE_EXT2_INODE_VERSION since it's not
90 needed any more; we know it will always be i_generation.
91 Add support for swapping the high bits of the uid and gid.
92
Theodore Ts'o5c36a2f1999-11-19 18:42:30 +0000931999-11-19 <tytso@valinux.com>
94
Theodore Ts'odab278a1999-11-19 18:49:27 +000095 * mkdir.c (ext2fs_mkdir): Only update the parent's inode link
96 counts if the link was successful. Patch suggested by
97 jeremy@goop.org.
98
Theodore Ts'o5c36a2f1999-11-19 18:42:30 +000099 * Makefile.in (distclean): Remove TAGS and Makefile.in.old from
100 the source directory.
101
Theodore Ts'ocd086361999-11-10 16:00:39 +00001021999-11-10 <tytso@valinux.com>
103
104 * Release of E2fsprogs 1.18
105
Theodore Ts'o9b9fe8a1999-11-08 22:05:04 +00001061999-11-08 <tytso@valinux.com>
107
108 * Makefile.in (tst_badblocks): Add freefs.o to the object list,
109 since ext2fs_badblocks_list_free was moved to freefs.c.
110
111 * tst_badblocks.c: Use the newer badblocks API names. Add
112 duplicate blocks to the test inputs to test dealing with
113 adding blocks which are already in the badblocks list.
114
115 * badblocks.c (ext2fs_badblocks_list_add): If appending to the end
116 of the list, use a shortcut O(1) operations instead of an
117 O(n) operation. (Idea suggested by David Beattie.)
118
119 * freefs.c (ext2fs_free): Use ext2fs_badblocks_list_free() instead
120 of badblocks_list_free(), to save a procedure call.
121
Theodore Ts'o416c93d1999-10-26 04:49:54 +00001221999-10-26 <tytso@valinux.com>
123
Theodore Ts'o28e11941999-10-26 18:17:20 +0000124 * Release of E2fsprogs 1.17
125
1261999-10-26 <tytso@valinux.com>
127
Theodore Ts'o416c93d1999-10-26 04:49:54 +0000128 * ext2fs.h: Add kludge to deal with the fact that egcs cpp doesn't
129 seem to handle ~0UL the same way as they used to.
130
Theodore Ts'o601002b1999-10-26 02:06:39 +00001311999-10-25 <tytso@valinux.com>
132
Theodore Ts'ofe70fd31999-10-26 02:34:47 +0000133 * nt_io.c (_OpenNtName): Open the device using
134 FILE_SYNCHRONOUS_IO_NONALERT instead of
135 FILE_SYNCHRONOUS_IO_ALERT
136 (nt_open): At the end of the device open routine, unlock
137 the drive but do not dismount it.
138
Theodore Ts'o601002b1999-10-26 02:06:39 +0000139 * initialize.c (CREATOR_OS): Use __GNU__ instead of __gnu__ to
140 detect the Hurd OS.
141
Theodore Ts'oe6198e51999-10-23 00:58:54 +00001421999-10-22 <tytso@valinux.com>
143
Theodore Ts'o614fdfd1999-10-23 03:19:51 +0000144 * Release of E2fsprogs 1.16
145
1461999-10-22 <tytso@valinux.com>
147
Theodore Ts'oe6198e51999-10-23 00:58:54 +0000148 * mkdir.c (ext2fs_mkdir): Pass EXT2_FT_DIR flag to ext2fs_link().
149
150 * link.c (ext2fs_link): This call now uses the low three bits of
151 the flags parameter to pass the directory filetype
152 information; it will set the directory entry FILETYPE
153 information if the filesystem supports it.
154
155 * newdir.c (ext2fs_new_dir_block): If the FILETYPE superblock
156 option is set, then create the '.' and '..' entries with
157 the filetype set to EXT2_FT_DIR.
158
Theodore Ts'oaa4115a1999-10-21 19:33:18 +00001591999-09-24 <tytso@valinux.com>
160
161 * nt_io.c: New file which supports I/O under Windows NT.
162
Theodore Ts'o3a5f8ea1999-09-14 20:21:26 +00001631999-09-07 <tytso@valinux.com>
164
165 * ext2fs.h: Add new fields for journalling and define new
166 feature bits used by newer filesystems: IMAGIC_INODES,
167 HAS_JOURNAL, RECOVER.
168
169 * expanddir.c (ext2fs_expand_dir, expand_dir_proc): Change where
170 we update the inode block count and size files so that the
171 block count field is updated correctly when we create an
172 indirect block.
173
1741999-07-18 Theodore Ts'o <tytso@valinux.com>
Theodore Ts'o657cb971999-07-30 23:19:10 +0000175
176 * Release of E2fsprogs 1.15
177
Theodore Ts'oe72a9ba1999-06-25 15:40:18 +00001781999-06-23 <tytso@valinux.com>
179
180 * swapfs.c (ext2fs_swap_inode): Add compatibility for Linux 2.3
181 kernels that use i_generation instead of i_version. Patch
182 supplied by Jon Bright <sircus@sircus.demon.co.uk>.
183
1841999-06-21 <tytso@valinux.com>
Theodore Ts'o813bbb21999-06-22 03:17:45 +0000185
186 * dir_iterate.c (ext2fs_process_dir_block): Check for corrupted
187 directory entry before calling the callback function.
188 This should prevent some core dumps of insufficiently
189 paranoid callback functions.
190
Theodore Ts'oa4bf69d1999-05-29 21:53:30 +00001911999-05-29 <tytso@rsts-11.mit.edu>
192
193 * ext2fs.h: Add feature definition for AFS IMAGIC inodes.
194
195 * fileio.c (ext2fs_file_open): Remove obsolete comment stating
196 that we don't handle writing yet (we do). Fixed bug where
197 we weren't allocating a big enough buffer for ext2_bmap.
198
Theodore Ts'of0687a51999-05-29 21:48:03 +00001991999-05-03 <tytso@rsts-11.mit.edu>
200
201 * openfs.c (ext2fs_open): Check to make sure that the number of
202 blocks per group is not zero --- if so, it must be a bad
203 superblock!
204
Theodore Ts'o9e51eca1999-01-09 16:32:31 +00002051999-01-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
206
207 * Release of E2fsprogs 1.14
208
Theodore Ts'o665f7101999-01-08 13:33:39 +00002091999-01-07 Theodore Ts'o <tytso@rsts-11.mit.edu>
210
211 * inode.c (ext2fs_read_inode, ext2fs_write_inode): Check to see if
212 the inode number is zero; if it's zero, return
213 EXT2_ET_BAD_INODE_NUM.
214
Theodore Ts'o7a469521999-01-04 08:50:59 +00002151998-12-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
216
217 * initialize.c (ext2fs_initialize): Use EXT2_FIRST_INODE instead
218 of EXT2_FIRST_INO to ensure compatibility with Linux 1.2
219 header files.
220
Theodore Ts'o73f17cf1999-01-04 07:35:45 +0000221Mon Jan 4 02:32:09 1999 Theodore Y. Ts'o <tytso@mit.edu>
222
223 * llseek.c (ext2fs_llseek): Change ext2fs_llseek() in the
224 non-Linux case to use EINVAL by default, unless it isn't
225 defined, in which case we use EXT2_ET_INVALID_ARGUMENT
226 instead.
227
Theodore Ts'o556ad131998-12-19 08:10:58 +00002281998-12-15 Theodore Ts'o <tytso@rsts-11.mit.edu>
229
230 * Release of E2fsprogs 1.13
231
Theodore Ts'o5a679c81998-12-03 16:40:38 +00002321998-12-03 Theodore Ts'o <tytso@rsts-11.mit.edu>
233
234 * Makefile.in: Updated dependencies.
235
Theodore Ts'o8d7e83b1998-09-23 00:27:26 +00002361998-09-22 Theodore Ts'o <tytso@rsts-11.mit.edu>
237
238 * initialize.c (ext2fs_initialize): Make sure that we allocate
239 enough inodes so that we can make a valid filesystem.
240
Theodore Ts'o2eb374c1998-09-03 01:22:57 +00002411998-09-02 Theodore Ts'o <tytso@rsts-11.mit.edu>
242
243 * rw_bitmaps.c: Fixed signed/unsigned warnings.
244
245 * fileio.c (ext2fs_file_set_size): Remove unneeded extern from the
246 function declaration.
247
248 * dblist.c (make_dblist): Add safety check in case the dblist
249 pointer passed in is null (in which case, assign it to
250 fs->dblist). Fixed some signed/unsigned warnings.
251
252 * bmap.c: Make addr_per_block be of type blk_t to avoid
253 signed/unsigned warnings.
254
255 * namei.c (ext2fs_follow_link): Remove uneeded extern from the
256 function declaration.
257
258 * get_pathname.c (get_pathname_proc): Use return value from
259 ext2fs_get_mem, instead of checking if &gp->name is
260 NULL.
261
262 * dir_iterate.c (ext2fs_process_dir_block):
263 * dblist_dir.c (ext2fs_dblist_dir_iterate): Remove uneeded extern
264 from the function declaration.
265
266 * block.c (ext2fs_block_iterate2): If the read_inode call fails,
267 return the error directly instead of jumping to the
268 cleanup routine, since we don't need to do any cleanup.
269
270 * alloc_table.c (ext2fs_allocate_group_table): Make this
271 function take a dgrp_t for its group argument.
272
273 * ext2fs.h: Make dgrp_t an __u32 type, and make
274 fs->desc_group_count be of type dgrp_t.
275
Theodore Ts'of75c28d1998-08-01 04:18:06 +00002761998-07-27 Theodore Ts'o <tytso@rsts-11.mit.edu>
277
278 * badblocks.c (ext2fs_badblocks_list_add): Use a bigger increment
279 than 10 blocks when we need to expand the size of the
280 badblocks list.
281
Theodore Ts'o4a5fa191998-07-09 05:42:45 +00002821998-07-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
283
284 * Release of E2fsprogs 1.12
285
Theodore Ts'o30c42611998-06-30 05:33:11 +00002861998-06-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
287
288 * closefs.c (ext2fs_flush): Update the s_block_group_nr field as
289 appropriate for all of the block group copies, so that
290 it's clear where the beginning of the filesystem is on the
291 disk. (For when the partition table gets scrod.)
292
293 * ext2fs.h: Change the name of the feature from
294 EXT2_FEATURE_INCOMPAT_DIRNAME_SIZE to
295 EXT2_FEATURE_INCOMPAT_FILESIZE (to match with the kernel).
296
Theodore Ts'o818180c1998-06-27 05:11:14 +00002971998-06-18 Theodore Ts'o <tytso@rsts-11.mit.edu>
298
299 * inode.c (get_next_blockgroup): Fix bug where if
300 get_next_blockgroup() is called early because of a missing
301 inode table in a block group, the current_inode counter
302 wasn't incremented correctly.
303
Theodore Ts'o4faba5b1998-06-16 05:23:41 +00003041998-06-16 Theodore Ts'o <tytso@rsts-11.mit.edu>
305
306 * read_bb.c (ext2fs_read_bb_inode): Make function more robust
307 against a completely trashed bad block inode.
308
Theodore Ts'o03673db1998-06-10 20:39:43 +00003091998-06-10 Theodore Ts'o <tytso@rsts-11.mit.edu>
310
311 * alloc_tables.c (ext2fs_allocate_group_table): Fix bug so that if
312 the stride length hits a bad value, we retry the block
313 allocation starting at the beginning of the block group.
314
315 * ext2fs.h, bb_inode.c, block.c, bmove.c, dir_iterate.c,
316 expanddir.c, ext2fsP.h, read_bb.c: Change blkcnt_t to be
317 e2_blkcnt_t to avoid collision with LFS API.
318
Theodore Ts'o353952d1998-05-01 05:32:18 +00003191998-05-01 Theodore Ts'o <tytso@rsts-11.mit.edu>
320
321 * initialize.c (ext2fs_initialize): Initialize s_inodes_count in a
322 way that avoids overflows on disk sizes greater than 4GB.
323
Theodore Ts'o4c77fe51998-04-30 17:35:59 +00003241998-04-28 Theodore Ts'o <tytso@rsts-11.mit.edu>
325
326 * ext2fs.h: Define EXT2_QSORT_TYPE appropriately for the
327 return type for comparison functions for qsort.
328
329 * dblist.c (dir_block_cmp): Use EXT2_QSORT_TYPE in function
330 declaration.
331
Theodore Ts'o76f875d1998-04-27 01:41:13 +00003321998-04-26 Theodore Ts'o <tytso@rsts-11.mit.edu>
333
334 * ext2fs.h, bitops.h: Add support for the Watcom C compiler to do
335 inline functions.
336
337 * ext2fs.h, dosio.c: Use asm/types.h instead of linux/types.h to
338 evade a potential problem with glibc's header files trying
339 to spike out linux/types.h.
340
341 * ext2fs.h (ext2fs_resize_mem): Change the function prototype to
342 include the old size of the memory, which is needed for
343 some braindamaged memory allocation systems that don't
344 support realloc().
345
346 * badblocks.c (ext2fs_badblocks_list_add):
347 bb_inode.c (clear_bad_block_proc):
348 dblist.c (ext2fs_add_dir_block):
349 icount.c (insert_icount_el):
350 irel_ma.c (ima_put):
351 rs_bitmap.c (ext2fs_resize_generic_bitmap): Update functions to
352 pass the old size of the memory to be resized to
353 ext2fs_resize_mem().
354
Theodore Ts'o469bec81998-04-01 02:46:43 +00003551998-03-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
356
357 * Makefile.in: Change to use new installation directory variables
358 convention. Fix uninstall rules to take $(DESTDIR) into
359 account.
360
Theodore Ts'o4a31c481998-03-30 01:27:25 +00003611998-03-29 Theodore Ts'o <tytso@rsts-11.mit.edu>
362
363 * ext2fs.h: If __STRICT_ANSI__ is defined and we're on a platform
364 with 32 bit longs, then we need to manually define __s64
365 and __u64, since the current kernel header files don't
366 define these if __STRICT_ANSI__ is defined. This is a
367 problem if we are compiling with full GCC warnings, since
368 we do need 64 bit support.
369
370 * Makefile.in (OBJS): Remove bmove.o from files to be built,
371 since we're not using ext2fs_move_blocks() and there
372 is some question as to its usefulness in its current
373 form.
374
375 * bmap.c (block_bmap): Remove unused function.
376
377 * bmove.c (process_block): Fix -Wall warning.
378
Theodore Ts'o36a43d61998-03-24 16:17:51 +00003791998-03-23 Theodore Ts'o <tytso@rsts-11.mit.edu>
380
381 * block.c (ext2fs_block_iterate3): Make the ref_offset field
382 contain the offset into the inode.i_blocks array when
383 ref_block is zero. Since we haven't done a formal
384 release of e2fsprogs since block_iterate2 was first
385 introduced, I removed block_iterate2, and renamed
386 block_iterate3 to be block_iterate2.
387
388 * bb_inode.c, bmove.c, dblist_dir.c, dir_iterate.c,
389 expanddir.c, ext2fs.h, ext2fsP.h, read_bb.c: Change
390 use of block_iterate and block_iterate2 to
391 block_iterate2 with the new prototype for the
392 interator function. (using blkcnt_t forr blockcount)
393
Theodore Ts'o674a4ee1998-03-23 02:06:52 +00003941998-03-21 Theodore Ts'o <tytso@rsts-11.mit.edu>
395
396 * ext2fs.h: Add new superblock fields (s_algorithm_usage_bitmap,
397 s_prealloc_blocks, s_prealloc_dir_blocks). Added
398 conditional defines of new features COMPAT_DIR_PREALLOC,
399 RO_COMPAT_LARGE_FILE RO_COMPAT_BTREE_DIR,
400 INCOMPAT_COMPRESSION, INCOMPAT_DIRNAME_SIZE. Changed
401 the library to declare that we support COMPAT_DIR_PREALLOC,
402 INCOMPAT_DIRNAME_SIZE, RO_COMPAT_LARGE_FILE.
403
404 * fileio.c: Rename function ext2fs_file_llseek to be
405 ext2fs_file_lseek, which is more accurate.
406
407 * block.c: Add new function ext2fs_block_iterate3 which calls
408 the iterator function with the blockcount argument of
409 type blkcnt_t. This version of the function is
410 allowed to handle large files; the other fucntions are
411 not.
412
413 * ext2fs.h: Add new type blkcnt_t
414
415 * ext2_err.et.in: Add error code EXT2_ET_FILE_TOO_BIG
416
417 * block.c (ext2fs_block_iterate2): Fix bug where the block count
418 field wasn't getting correctly incremented for sparse
419 files when the indirect or doubly-indirect block
420 specified in the inode was zero.
421
422Sun Mar 8 22:42:47 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
423
424 * unlink.c (unlink_proc):
425 * lookup.c (lookup_proc):
426 * link.c (link_proc):
427 * get_pathname.c (get_pathname_proc):
428 * dir_iterate.c (ext2fs_process_dir_block): Mask off high 8 bits
429 from dirent->name_len, so it can be used for other
430 purposes.
431
432 * ext2fs.h: Add definition of EXT2_FEATURE_INCOMPAT_DIRNAME_SIZE,
433 and indicate that we have support for this incompatible
434 option.
435
Theodore Ts'oc7752561998-02-24 04:25:52 +0000436Mon Feb 23 08:46:33 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
437
438 * ext2_err.et.in: Added new error code, EXT2_ET_CANCEL_REQUESTED.
439
Theodore Ts'o79b05db1998-02-21 05:01:19 +0000440Fri Feb 20 23:58:01 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
441
442 * dblist.c (ext2fs_get_num_dirs): Improve the estimation of the
443 number of directories when the block group information is
444 unreliable.
445
Theodore Ts'oc4e749a1998-02-20 05:33:14 +00004461998-02-20 Theodore Y. Ts'o <tytso@edt.mit.edu>
447
Theodore Ts'o218a4861998-02-21 01:41:39 +0000448 * inode.c (ext2fs_get_next_inode): Always do the check to see if the
449 inode table is missing so that we catch the case where the
450 first block group is missing.
451
Theodore Ts'oc4e749a1998-02-20 05:33:14 +0000452 * getsize.c, ismounted.c, unix_io.c: #include errno.h since it's
453 needed.
454
Theodore Ts'o9abd2ce1998-02-16 22:00:37 +0000455Mon Feb 16 16:16:00 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
456
457 * ext2_io.h, ext2fs.h: Protect against being included multiple times.
458
459 * bmove.c: #include ext2fsP.h instead of "ext2fs/ext2fs.h"
460
461 * test_io.c (test_flush): Add a debugging printf when the flush
462 method is called.
463
464 * rw_bitmaps.c (ext2fs_read_bitmaps): If the bitmaps are already
465 read in, return right away.
466
Theodore Ts'o5953b9d1998-02-01 13:23:02 +0000467Sun Feb 1 08:20:24 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
468
469 * bitops.h: Don't try to do i386 inline asm functions if the
470 compiler isn't GCC.
471
472 * ext2fs.h: If EXT2_FLAT_INCLUDES is defined, #include e2_types.h,
473 instead of linux/types.h, and e2_bitops.h instead of
474 ext2fs/bitops.h.
475
476 * icount.c, version.c: Don't #include <et/com_err.h>, as it isn't
477 necessary.
478
Theodore Ts'ob5abe6f1998-01-19 14:47:53 +0000479Sat Jan 17 13:13:31 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
480
481 * inode.c (ext2fs_open_inode_scan): Initialize the group variables
482 so that we don't need to call get_next_blockgroup() the
483 first time around. Saves a bit of time, and prevents us
484 from needing to assign -1 to current_group (which is an
485 unsigned value).
486
487 * icount.c (insert_icount_el): Cast the estimated number of inodes
488 from a float to an ino_t.
489
490 * alloc.c, alloc_tables.c, badlbocks.c, bb_compat.c, bb_inode.c,
491 bitmaps.c, bitops.c, block.c, bmap.c, bmove.c, brel_ma.c,
492 check_desc.c, closefs.c, cmp_bitmaps.c, dblist.c,
493 dblist_dir.c, dir_iterate.c, dirblock.c, dupfs.c,
494 expanddir.c, ext2fs.h, fileio.c, freefs.c,
495 get_pathname.c, getsize.c, icount.c, initialize.c,
496 inline.c, inode.c, irel_ma.c, ismounted.c, link.c,
497 lookup.c, mkdir.c, namei.c, native.c, newdir.c,
498 openfs.c, read_bb.c, read_bb_file.c, rs_bitmap.c,
499 rw_bitmaps.c, swapfs.c, test_io.c, tst_badblocks.c,
500 tst_getsize.c, tst_iscan.c, unix_io.c, unlink.c,
501 valid_blk.c, version.c: If EXT2_FLAT_INCLUDES is
502 defined, then assume all of the
503 ext2-specific header files are in a flat directory.
504
505 * block.c, bmove.c, dirblock.c, fileio.c: Explicitly cast
506 all assignments from void * to be compatible with C++.
507
508Tue Jan 6 11:28:15 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
509
510 * closefs.c (ext2fs_flush): Add a call to io_channel_flush() to
511 make sure the contents of the disk are flushed to disk.
512
513Mon Dec 29 14:39:13 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
514
515 * dblist.c (ext2fs_add_dir_block): Change new to be new_entry to
516 avoid C++ namespace clash.
517
518 * bitmaps.c (ext2fs_copy_bitmap): Change new to be new_map to
519 avoid C++ namespace clash.
520
521 * ext2fs.h, bb_inode.c, block.c, bmove.c, brel.h, brel_ma.c,
522 irel.h, irel_ma.c, dblist.c, dblist_dir.c, dir_iterate.c,
523 ext2fsP.h, expanddir.c, get_pathname.c, inode.c, link.c,
524 unlink.c: Change private to be priv_data (to avoid C++
525 namespace clash)
526
Theodore Ts'o5be8dc21997-12-01 18:24:10 +0000527Fri Nov 28 09:26:31 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
528
529 * dblist.c (ext2fs_get_num_dirs): Make ext2fs_get_num_dirs more
530 paranoid about validating the directory counts from the
531 block group information.
532
533 * all files: Don't include stdlib.h anymore; include it in
534 ext2_fs.h, since that file requires stdlib.h
535
Theodore Ts'o89270b51997-11-24 11:44:25 +0000536Thu Nov 20 16:07:38 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
537
538 * expanddir.c (ext2fs_expand_dir): Check to make sure the block
539 bitmap is loaded, and return an error if it is not.
540 (expand_dir_proc): Only use ext2fs_write_dir_block when
541 writing a directory block, not when writing out a fresh
542 indirect block.
543
Theodore Ts'od36d8351997-11-12 03:48:07 +0000544Tue Nov 11 22:46:45 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
545
546 * Makefile.in, tst_getsize.c: Added new file which is used to test
547 the ext2fs_get_device_size function.
548
549 * ext2_err.et.in (EXT2_ET_UNIMPLEMENTED): Added new error code.
550
Theodore Ts'o79a90bd1997-11-03 19:16:55 +0000551Sun Nov 2 20:36:13 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
552
553 * ext2fs.h: Make ext2fs_get_mem take an unsigned argument.
554
555 * fileio.c (ext2fs_file_get_size, ext2fs_file_set_size,
556 ext2fs_file_get_fs): New functions added.
557
558
559Fri Oct 31 12:16:52 1997 <tytso@EDT.MIT.EDU>
560
561 * bitops.c (ext2fs_warn_bitmap, ext2fs_warn_bitmap2): Don't call
562 com_err if OMIT_COM_ERR is defined.
563
Theodore Ts'o1f0b6c11997-10-31 06:07:47 +0000564Thu Oct 30 11:33:57 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
565
566 * Rename new error codes to _ET_ in them for consistency.
567
Theodore Ts'oc555aeb1997-10-25 04:16:53 +0000568Sat Oct 25 00:06:58 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
569
Theodore Ts'o7b4e4531997-10-26 03:41:24 +0000570 * [all files, basically]: Added definition of ext2fs_get_mem,
571 ext2fs_free_mem, and ext2fs_resize_mem in ext2fs.h, and
572 changed all library routines to use these wrapper functions.
573
Theodore Ts'o78d8f901997-10-26 01:53:39 +0000574 * dblist.c, mkdir.c: use EXT2_DIR_EXISTS and EXT2_DB_NOT_FOUND
575 instead of the system error messages.
576
577 * ext2_err.et.in: Added new error messages EXT2_DIR_EXISTS and
578 EXT2_DB_NOT_FOUND
579
Theodore Ts'o30fab291997-10-25 22:37:42 +0000580 * ext2fs.h: Added function declarations and constants for bmap.c
581 and fileio.c.
582
583 * ext2_err.et.in: Added new error messages EXT2_FILE_RO and
584 EXT2_ET_MAGIC_EXT2_FILE
585
586 * Makefile.in: Added files bmap.c and fileio.c, and temporarily
587 commented out brel_ma.c and irel_ma.c
588
589 * bmap.c: New file which maps a file's logical block number to its
590 physical block number.
591
592 * fileio.c: New file which implements simple file reading and
593 writing primitives.
594
Theodore Ts'oc555aeb1997-10-25 04:16:53 +0000595 * alloc.c (ext2fs_alloc_block): New function which allocates a
Theodore Ts'o30fab291997-10-25 22:37:42 +0000596 block, zeros it, and updates the filesystem accounting
597 records appropriately.
Theodore Ts'oc555aeb1997-10-25 04:16:53 +0000598
599Wed Oct 22 16:47:27 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
600
601 * ext2_err.et.in: Added new error codes: EXT2_NO_MEMORY,
602 EXT2_INVALID_ARGUMENT, EXT2_BLOCK_ALLOC_FAIL,
603 EXT2_INODE_ALLOC_FAIL, EXT2_NOT_DIRECTORY
604
605 * Change various library files to use these functions instead of
606 EINVAL, ENOENT, etc.
607
Theodore Ts'ob0b9c4d1997-10-20 23:36:30 +0000608Mon Oct 20 19:32:40 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
609
610 * llseek.c: Check HAVE_LLSEEK_PROTOTYPE to see whether or not we
611 need to declare llseek().
612
Theodore Ts'o1d2ff461997-10-19 23:00:21 +0000613Sun Oct 19 18:56:22 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
614
Theodore Ts'od40259f1997-10-20 00:44:26 +0000615 * Rename io.h to be ext2_io.h (avoid namespace collisions)
616
Theodore Ts'o1d2ff461997-10-19 23:00:21 +0000617 * Add #ifdef's for HAVE_SYS_STAT_H and HAVE_SYS_TYPES_H
618
Theodore Ts'od163b091997-10-03 17:42:28 +0000619Fri Oct 3 13:35:59 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
620
621 * llseek.c (ext2fs_llseek): Fix type error for ext2fs_llseek()
622
623 * icount.c (ext2fs_icount_validate):
624 * bmove.c (process_block): Fix lint error in type for fprintf().
625
626Mon Sep 15 11:45:09 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
627
628 * inode.c (ext2fs_check_directory): Add support for the callback
629 to return the error code EXT2_ET_CALLBACK_NOTHANDLED.
630
Theodore Ts'offf876b1997-09-13 00:32:29 +0000631Thu Sep 4 12:28:22 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
632
633 * bitmaps.c (ext2fs_set_bitmap_padding): New function which sets the
634 padding of the bitmap to be all one's.
635
Theodore Ts'obc75f2a1997-09-04 00:43:10 +0000636Wed Sep 3 14:27:30 1997 Theodore Y. Ts'o <tytso@edt.mit.edu>
637
638 * llseek.c: Added missing semicolon to glibc fixup declaration of
639 llseek().
640
641 * bmove.c: Add #include of errno.h
642
Theodore Ts'oe9affb71997-08-24 02:57:55 +0000643Sat Aug 23 22:47:46 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
644
645 * Makefile.in (ELF_SO_VERSION): Bump version to be 2.4 since we've
646 added a new field to the io_channel (app_data).
647
648 * io.h: Add a new element to the io_channel structure, app_data.
649
650 * initialize.c, openfs.c: Set io->app_data to point at the
651 filesystem handle.
652
Theodore Ts'o1c27cac1997-08-14 17:20:42 +0000653Thu Aug 14 08:14:17 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
654
655 * io.h: Change the prototype of ext2fs_llseek() to use int's
656 instead of unsigned int's.
657
658 * llseek.c: Change to allow PIC and !HAVE_LLSEEK. Add a prototype
659 to make life easer for GNU Libc 2.
660
661 * rw_bitmaps.c: On the PowerPC, the big-endian variant of the ext2
662 filesystem has its bitmaps stored as 32-bit words with bit
663 0 as the LSB of each word. Thus a bitmap with only bit 0
664 set would be, as a string of bytes, 00 00 00 01 00 ... To
665 cope with this, we byte-reverse each word of a bitmap if
666 we have a big-endian filesystem, that is, if we are *not*
667 byte-swapping other word-sized numbers.
668
Theodore Ts'o3cb6c501997-08-11 20:29:22 +0000669Mon Aug 11 03:30:48 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
670
671 * dosio.c: New file to do DOS/BIOS disk accesses.
672
673 * namei.c (open_namei): Make pathlen be of type size_t.
674
675 * llseek.c: Always #include stdlib.h since it's need to define
676 size_t.
677
678 * io.h: Use errcode_t for magic numbers.
679
680 * icount.c (get_icount_el): Use size_t where appropriate
681
682 * dupfs.c (ext2fs_dup_handle):
683 * dblist.c (dir_block_cmp): Use size_t where appropriate.
684
685 * read_bb.c (ext2fs_read_bb_inode):
686 * cmp_bitmaps.c (ext2fs_compare_inode_bitmap): Use blk_t, ino_t
687 and size_t where appropriate.
688
689 * closefs.c (ext2fs_flush): Use dgrp_t instead of int where
690 appropriate.
691
692 * openfs.c (ext2fs_open):
693 * check_desc.c (ext2fs_check_desc): Use blk_t instead of int where
694 appropriate.
695
696 * rw_bitmaps.c (read_bitmaps):
697 * irel_ma.c:
698 * inode.c (ext2fs_write_inode):
699 * initialize.c (ext2fs_initialize):
700 * brel_ma.c: Fix to make be 16-bit safe.
701
702 * link.c (ext2fs_link):
703 * unlink.c (ext2fs_unlink):
704 * lookup.c (lookup_proc):
705 * ismounted.c (ext2fs_check_if_mounted):
706 * block.c (xlate_func): Add #pragma argsused for Turbo C.
707
Theodore Ts'o4cbe8af1997-08-10 23:07:40 +0000708Sun Aug 10 10:05:22 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
709
710 * block.c (ext2fs_block_iterate2): Use retval which is a errcode_t
711 type.
712
713 * bitmaps.c (make_bitmap): Use size_t instead of int where
714 appropriate.
715
716 * bb_inode.c (set_bad_block_proc): Add #pragma argsused for Turbo C.
717
718 * alloc.c (ext2fs_new_inode): Use ino_t instead of int for the
719 group number.
720
721 * get_pathname.c: Use ino_t instead of int where appropriate.
722
723 * ext2fs.h: Make the magic structure element be errcode_t instead
724 of int.
725
726 * alloc.c alloc_tables.c badblocks.c bb_compat.c bb_inode.c
727 bitmaps.c block.c bmove.c brel_ma.c check_desc.c closefs.c
728 cmp_bitmaps.c dblist.c dblist_dir.c dir_iterate.c
729 dirblock.c dupfs.c expanddir.c freefs.c get_pathname.c
730 icount.c initialize.c inline.c inode.c irel_ma.c link.c
731 llseek.c lookup.c mkdir.c namei.c newdir.c read_bb.c
732 read_bb_file.c rs_bitmap.c rw_bitmaps.c swapfs.c
733 test_io.c tst_badblocks.c tst_iscan.c unix_io.c unlink.c
734 valid_blk.c version.c: Add an #ifdef for HAVE_UNISTD_H
735
Theodore Ts'o024996c1997-06-17 05:38:35 +0000736Tue Jun 17 01:33:20 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
737
Theodore Ts'oa1230b11997-07-02 02:41:59 +0000738 * unix_io.c (unix_read_blk): If ext2fs_llseek() fails, but errno
739 is zero, then return EXT2_IO_LLSEEK_FAILED.
740
741 * ext2_err.et.in: Add a new error code, EXT2_IO_LLSEEK_FAILED.
742
Theodore Ts'o024996c1997-06-17 05:38:35 +0000743 * Release of E2fsprogs 1.11
744
Theodore Ts'o549860c1997-06-17 03:55:00 +0000745Mon Jun 16 23:53:06 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
746
747 * dblist.c (ext2fs_dblist_count): Added new function which returns
748 the number of directory blocks in dblist.
749
Theodore Ts'o36f21431997-06-14 07:25:40 +0000750Sat Jun 14 01:39:13 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
751
752 * unix_io.c (unix_flush): Make the io_channel flush function do a
753 fsync to flush the kernel buffers to disk.
754
Theodore Ts'o9941fb71997-06-11 22:27:41 +0000755Wed Jun 11 18:25:31 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
756
757 * inode.c (ext2fs_inode_scan_goto_blockgroup): Fix bug; the
758 current inode number wasn't being set by the
759 goto_blockgroup function.
760
Theodore Ts'o1e1da291997-06-09 14:51:29 +0000761Mon Jun 9 10:45:48 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
762
763 * bmove.c (ext2fs_move_blocks): New function which takes a bitmap
764 of blocks which need to be moved, and moves those blocks
765 to another location in the filesystem.
766
767 * rs_bitmap.c (ext2fs_resize_generic_bitmap): When expanding a
768 bitmap, make sure all of the new parts of the bitmap are
769 zero.
770
771Sun Jun 8 16:24:39 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
772
773 * bitmaps.c (ext2fs_copy_bitmap): Fix bug; the destination bitmap
774 wasn't being returned to the caller.
775
776 * alloc_tables.c (ext2fs_allocate_group_table): Add new function
777 ext2fs_allocate_group_table() which sets the group tables
778 for a particular block group. The relevant code was
779 factored out of ext2fs_allocate_tables().
780
781 * dblist.c (make_dblist): Adjust the initial size of the directory
Theodore Ts'o024996c1997-06-17 05:38:35 +0000782 block list to be a bit more realistic (ten plus twice the
Theodore Ts'o1e1da291997-06-09 14:51:29 +0000783 number of directories in the filesystem).
784
Theodore Ts'of635d7f1997-05-09 02:50:16 +0000785Thu May 8 22:19:09 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
786
787 * badblocks.c (ext2fs_badblocks_list_test): Fix bug where
788 ext2fs_badblocks_list_test would test the list (and exceed
789 array boundaries) if there were no bad blocks on the bad
790 blocks list. (Showed up when user tried: mke2fs -c -b 4096).
791
Theodore Ts'oa29f4d31997-04-29 21:26:48 +0000792Thu Apr 24 12:16:42 1997 Theodre Ts'o <tytso@localhost.mit.edu>
793
794 * Release of E2fsprogs version 1.10
795
796Thu Apr 24 10:13:42 1997 Theodre Ts'o <tytso@localhost.mit.edu>
797
798 * alloc_tables.c (ext2fs_allocate_tables): Correctly place the
799 inode and block bitmaps based on the RAID 0 stride
800 parameter (which is passed by mke2fs).
801
802 * ext2fs.h: Add "stride" parameter to ext2_filsys, to be used by
803 mke2fs to communicate the stride length to
804 ext2fs_allocate_tables()
805
806Wed Apr 23 21:50:42 1997 Theodre Ts'o <tytso@localhost.mit.edu>
807
808 * initialize.c (ext2fs_initialize): Fix to compile under Linux 1.2
809 systems. (We can't assume that the new filesystem types
810 are supported.)
811
812Wed Apr 23 18:40:53 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
813
814 * alloc_tables.c (ext2fs_allocate_tables): Make sure that we
815 allocate the inode and block bitmaps inside block group at
816 all times.
817
818Mon Apr 21 00:06:28 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
819
820 * alloc.c (ext2fs_new_block): Fix bug where if goal==0 and the
821 filesystem has no free blocks, ext2fs_new_block would loop
822 forever.
823
824 * dupfs.c (ext2fs_dup_handle): Duplicate an ext2 filesystem handle
825
826 * freefs.c (ext2fs_free_inode_cache): Decrement refcount and only
827 free if refcount goes to zero.
828
829 * inode.c (create_icache): Initialize refcount to 1.
830
831 * ext2fsP.h: Added refcount to ext2_inode_cache
832
833 * dblist.c (ext2fs_copy_dblist): New function to copy a directory
834 block list.
835
836 * badblocks.c (ext2fs_badblocks_copy): New function to copy a
837 badblocks structure.
838
839Sun Apr 20 23:19:51 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
840
841 * bitmaps.c (ext2fs_copy_bitmap): New function to copy a bitmap.
842
843 * unix_io.c, test_io.c (unix_open, test_open): Initialize the
844 refcount to 1.
845 (unix_close, test_close): Decrement the refcount and only
846 close the io_channel if the refcount goes to 0.
847
848 * io.h: Add refcount to the io_channel structure. Add new macro
849 interface io_channel_bumpcount() to bump the refcount.
850
851Thu Apr 17 20:25:03 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
852
853 * inode.c (ext2fs_read_inode, ext2fs_write_inode): Use the inode
854 cache in the filesystem handle, instead of the inode cache
855 in a static variable.
856
857 * freefs.c: Added static function to free the inode cache (called by
858 ext2fs_free).
859
860 * ext2fsP.h: Added definition of the ext2_inode_cache structures.
861
862 * ext2fs.h: Added pointer to the inode_cache structure.
863
864 * block.c (block_iterate_ind, block_iterate_dind,
865 block_iterate_tind): If there are holes in the indirect,
866 doubly indirect, or triply indirect blocks, increment the
867 block count field automatically.
868
869Thu Apr 17 12:23:38 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
870
871 * Release of E2fsprogs version 1.09
872
Theodore Ts'o2ecc6fe1997-04-29 17:57:00 +0000873Mon Apr 14 20:38:56 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
874
875 * version.c (ext2fs_parse_version_string): Check the passed in
876 version string (instead of the hard-coded one).
877
878 * alloc_tables.c (ext2fs_allocate_tables): If the last block is
879 greater filesystem size, clamp it to prevent allocating a
880 block or inode bitmap beyond the filesystem.
881
882 * initialize.c (ext2fs_initialize): Fix bug where the metatdata
883 overhead calculation was accidentally removed.
884
885Fri Apr 11 18:56:26 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
886
887 * Release of E2fsprogs version 1.08
888
Theodore Ts'o521e3681997-04-29 17:48:10 +0000889Thu Apr 10 13:15:15 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
890
891 * dblist.c (ext2fs_set_dir_block): New function which sets the
892 block of a dblist entry, given the directory inode and
893 blockcnt.
894
895Sat Apr 5 12:42:42 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
896
897 * alloc_tables.c (ext2fs_allocate_tables): Allocate the bitmap and
898 inode bitmaps at staggered locations across the block
899 groups, to avoid concentrating the bitmaps on a small
900 number of disks when using striped RAID arrays.
901
902 * initialize.c (ext2fs_initialize): By default, choose the maximum
903 possible number of blocks per group (based on the size of
904 the bitmaps in the blocksize).
905
906Fri Apr 4 11:28:16 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
907
908 * initialize.c (ext2fs_initialize): Add support for
909 EXT2_COMPAT_SPARSE_SUPER feature.
910
911 * closefs.c (ext2fs_bg_has_super): New function to determine
912 whether or a particular block group should have a
913 superblock and block group descriptor. Used for the
914 EXT2_COMPAT_SPARSE_SUPER feature is turned on.
915 (ext2fs_flush): Check ext2fs_bg_has_super to see whether
916 or not the superblock should be written out for the block
917 group.
918
919 * ext2fs.h (EXT2_COMPAT_SPARSE_SUPER): Define compatibility flag
920 for sparse duplicate superblocks.
921
922 * version.c (ext2fs_get_library_version): New function which
923 returns the library version.
924
925 * version.c (ext2fs_parse_version_string): New function which
926 parses a version string and returns a version number,
927 so application programs can compare version numbers as
928 integers.
929
930Wed Mar 26 00:43:52 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
931
932 * icount.c (ext2fs_create_icount): Change function so that it also
933 takes a new argument which contains a "hint" icount
934 structure. This "hint" icount allows the create function
935 to set up the sorted list in advance. This reduces
936 significantly the amount of data moving needed to insert
937 these inodes into the list later.
938
939 * icount.c (ext2fs_icount_validate): New function which validates
940 that the icount structure's rep invariant.
941
942 * icount.c (get_icount_el): Completely revamped implementation
943 to subsume put_icount_el(). Put_icount_el() used to
944 use an O(N) implementation to insert in the middle
945 of the icount list. It now uses a O(ln N) to search
946 for where the icount should be inserted, and then uses
947 a memcpy to move the list down (instead of a for loop).
948
949 * icount.c (ext2fs_icount_fetch, ext2fs_icount_store,
950 ext2fs_icount_increment, ext2fs_icount_decrement): Check
951 to see if the inode is within bounds; if it isn't, return
952 EINVAL.
953
954 * bitops.h (ext2fs_test_generic_bitmap): Fix error message given
955 when a bad inode number is passed to test_generic_bitmap
956 to be EXT2FS_TEST_ERROR instead of the wrong
957 EXT2FS_UNMARK_ERROR.
958
Theodore Ts'o21c84b71997-04-29 16:15:03 +0000959Wed Mar 12 13:32:05 1997 Theodore Y. Ts'o <tytso@mit.edu>
960
961 * Release of E2fsprogs version 1.07
962
963Sun Mar 2 16:46:18 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
964
965 * Makefile.in (ELF_VERSION): Change version to be 2.2
966
967Tue Feb 11 14:54:02 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
968
969 * alloc.c (ext2fs_get_free_blocks): Change routine to use
970 ext2fs_fast_test_block_bitmap_range().
971
972 * bitops.h (ext2fs_fast_test_block_bitmap_range,
973 ext2fs_test_block_bitmap_range: New inline functions which
974 test to see whether a contiguous range of blocks is
975 available.
976
977Thu Feb 6 10:00:13 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
978
979 * badblocks.c (ext2fs_badblocks_list_create): Rename sybmols to use
980 use ext2fs_badblocks_* instead of badblocks_*
981
982 * bb_compat.c: New file which translates between old badblocks_*()
983 names to ext2fs_badblocks_*()
984
985 * unlink.c (ext2fs_unlink): New file, moved ext2fs_unlink() from
986 link.c (since e2fsck doesn't use ext2fs_unlink()).
987
988 * rs_bitmap.c (ext2fs_resize_generic_bitmap): New file, contains
989 bitmap resizing routine moved from bitmaps.c, since e2fsck
990 doesn't need to use this function.
991
992 * lookup.c (ext2fs_lookup): Moved ext2fs_lookup to its own file,
993 since e2fsck only needs ext2fs_lookup.
994
995Mon Feb 3 10:11:40 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
996
997 * inode.c (ext2fs_open_inode_scan): Set fs->badblocks if it is not
998 already set; this is needed so that programs like dump
999 which use the inode scan functions will deal with
1000 filesystems that have bad blocks in the inode table.
1001
1002Sun Feb 2 00:17:36 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1003
1004 * ext2fs.h (struct_badblocks_list, struct_badblocks_iterate):
1005 Moved to ext2fsP.h, since it doesn't need to be part of
1006 the public interface.
1007
1008 * dir_iterate.c: Move ext2_dir_iterate out of namei.c.
1009
1010Sat Feb 1 10:14:55 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1011
1012 * dblist.c (ext2fs_get_num_dirs): New file, which implements a
1013 directory block list abstraction. (Code moved from
1014 e2fsck).
1015
1016 * ext2fs.h, inode.c: Moved definition of ext2_struct_inode_scan to
1017 to inode.c (since no one else should be peeking inside it!)
1018
1019 * valid_blk.c (ext2_inode_has_valid_blocks): New function.
1020
1021 * openfs.c (ext2fs_open): Check the feature set in the ext2
1022 superblock, and refuse to open filesystems if they contain
1023 incompatible features. (Can be overriden with the
1024 EXT2_FLAG_FORCE
1025
1026Sun Jan 12 11:31:46 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1027
1028 * block.c (ext2fs_block_iterate2): Added new function
1029 ext2fs_block_iterate2 which changes the function
1030 signature of the callback function to include the
1031 referencing block and offset.
1032
1033 * inode.c (ext2fs_inode_scan_goto_blockgroup): Added new function
1034 ext2fs_inode_scan_goto_blockgroup which allows an
1035 application to jump to a particular block group while
1036 doing an inode scan.
1037
1038Wed Jan 1 23:50:12 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1039
1040 * dirblock.c: Include string.h, since we use memcpy().
1041
1042Tue Dec 3 12:27:29 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1043
1044 * getsize.c (ext2fs_get_device_size): The ioctl BLKGETSIZE returns
1045 a long not an int; this doesn't matter on i386 machines,
1046 but it does on Alpha's.
1047
1048Fri Nov 29 20:57:37 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1049
1050 * inode.c (ext2fs_write_inode, ext2fs_read_inode): If the inode
1051 table pointer is NULL, then return an error indicating
1052 that the inode table is missing.
1053 (get_next_blockgroup, get_next_blocks,
1054 ext2fs_get_next_inode): Don't treat a missing inode table
1055 as permanent error. Return MISSING_INODE_TABLE, but as an
1056 advisory error code, much like BAD_BLOCK_IN_INODE_TABLE.
1057
1058 * rw_bitmaps.c (ext2fs_write_block_bitmap,
1059 ext2fs_write_inode_bitmap): If the inode or block bitmap
1060 block is zero, then don't write out the inode or block
1061 bitmap. The idea here is to avoid stomping on the
1062 superblock.
1063 (read_bitmaps): If the inode or block bitmap block is
1064 zero, then fill in that portion of the inode or block
1065 bitmap with all zeros.
1066
1067 * inode.c (ext2fs_get_next_inode): Fix bug in handling of bad
1068 blocks in inode table when the inode table size is
1069 non-standard (and can therefore span blocks).
1070
1071Tue Oct 29 20:13:14 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1072
1073 * alloc.c (ext2fs_new_block): Fix fencepost error in
1074 ext2fs_new_block; make sure we don't try to allocate the
1075 first block beyond the end of the filesystem.
1076
1077Mon Oct 14 11:00:48 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1078
1079 * inode.c (check_for_inode_bad_blocks): New function called by
1080 get_next_blocks() to avoid reading in bad blocks marked in
1081 fs->badblocks. Inodes located in bad blocks are returned
1082 by ext2fs_get_next_inode() returns the error code
1083 EXT2_ET_BAD_BLOCK_IN_INODE_TABLE.
1084
1085 * alloc_tables.c (ext2fs_allocate_tables): New function which
1086 performs the part of mke2fs's job of allocating the
1087 filesystem tables.
1088
1089 * test_io.c (test_close): IO manager which is used for testing
1090 purposes.
1091
1092Sun Oct 13 04:31:57 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1093
1094 * inode.c (ext2fs_get_next_inode): Separate out the function of
1095 setting up for a new block group to get_next_blockgroup().
1096 Separate out the function of reading in blocks of the
1097 inode table to get_next_blocks().
1098
1099 * ext2fs.h: Add the badblocks list to the ext2_filsys entry
1100
1101 * badblocks.c (badblocks_list_add, badblocks_list_test): Add
1102 blocks to the badblock list in sorted order. This allows
1103 badblocks_list_test to be coded using a binary search for
1104 speed.
1105
1106Tue Oct 8 02:02:03 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1107
1108 * Release of E2fsprogs version 1.06
1109
Theodore Ts'o5c576471997-04-29 15:29:49 +00001110Mon Oct 7 00:44:17 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1111
1112 * ext2fs.h, block.c, closefs.c, dirblock.c, inode.c, native.c,
1113 open.c: Change EXT2_SWAP to EXT2_FLAG_SWAP for
1114 consistency's sake.
1115
1116 * closefs.c (ext2fs_flush): If the flag EXT2_MASTER_SB_ONLY is
1117 set, then only write out the master superblock.
1118
1119Sun Oct 6 21:45:26 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1120
1121 * block.c (ext2fs_block_iterate): Fixed bug which caused
1122 block_iterate to fail to handle HURD created filesystems;
1123 it tested the inode translator field before the inode was
1124 loaded.
1125
1126Tue Sep 17 14:08:24 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1127
1128 * initialize.c (ext2fs_initialize): Make sure the description for
1129 the inode bitmap is set correctly.
1130
1131 * bitmaps.c (ext2fs_allocate_generic_bitmap): Fix minor type typo.
1132
1133Thu Sep 12 15:23:07 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1134
1135 * Release of E2fsprogs version 1.05
1136
Theodore Ts'o1e3472c1997-04-29 14:53:37 +00001137Sat Sep 7 07:36:03 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1138
1139 * initialize.c: Override the kernel's idea of default
1140 checkinterval from 0 (never) to 180 days.
1141
1142Wed Aug 28 03:20:03 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1143
1144 * namei.c (ext2fs_namei_follow): New function which follows
1145 symbolic link (if any) at the target.
1146
1147Tue Aug 27 01:48:43 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1148
1149 * inode.c (ext2fs_read_inode, ext2fs_write_inode): Add support
1150 for shortcut function fs->read_inode() and fs->write_inode().
1151 Added inode_cache to reduce CPU time spent in doing
1152 byte swapping.
1153
1154 * swapfs.c (ext2fs_swap_super): Swap the new fields in a V2
1155 superblock.
1156
1157 * namei.c (ext2fs_follow_link): New function.
1158 (ext2fs_namei): Extended to have support for chasing
1159 symbolic links. ext2fs_namei() still returns an inode
1160 which is a symbolic link. Symbolic links are only chased
1161 while resolving the containing directory. To chase
1162 symbolic links of the final result, use
1163 ext2fs_follow_link().
1164
1165Mon Aug 26 23:46:07 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1166
1167 * ext2_err.et.in: Added new error code EXT2_ET_SYMLINK_LOOP.
1168
1169 * bitops.h (ext2fs_set_bit, ext2fs_celar_bit): Use asm inlines
1170 provided by Pete A. Zaitcev (zaitcev@lab.sun.mcst.ru).
1171
1172Thu Aug 22 00:40:18 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1173
1174 * initialize.c (ext2fs_initialize): On systems where the byte
1175 order is not i386 compatible, set the swap_byte flag.
1176
1177 * inode.c (inocpy_with_swap): Check to see if inode contains a
1178 fast symlink before swapping the inode block fields. This
1179 required adding a new argument to inocpy_with_swap to
1180 determine whether the mode field is in host order or not.
1181
1182Wed Aug 21 00:45:42 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1183
1184 * bitops.h (ext2fs_set_bit, ext2fs_clear_bit, ext2fs_test_bit): On
1185 the sparc, if EXT2_STD_BITOPS set, use the standard
1186 i386-compatible bitmask operations, instead on the
1187 non-standard native bitmask operators.
1188
1189Fri Aug 9 11:11:35 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1190
1191 * block.c (ext2fs_block_iterate): Cause block iterator to return
1192 the HURD translator block (along with everything else).
1193 If the flag BLOCK_FLAG_DATA_ONLY is passed to the block
1194 iterator, then don't return any meta data blocks
1195 (including the HURD translator).
1196
1197Wed Jul 17 17:13:34 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1198
1199 * gen_uuid.c: New file, which generates DCE-compatible UUIDs.
1200
1201 * uuid.c: New file, containing UUID utility functions.
1202
1203Tue Jul 16 10:19:16 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1204
1205 * ext2fs.h: Add a definition of the "real" ext2 superblock.
1206
1207Fri May 24 14:54:55 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1208
1209 * ext2fs.h: Fix erroneous ino_t type used in block_bitmap type.
1210
1211Sun May 19 15:39:03 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1212
1213 * openfs.c (ext2fs_open): If the blocksize in the superblock is
1214 zero, return the error EXT2_ET_CORRUPT_SUPERBLOCK, since
1215 that's a basic value that must be correct for the rest of
1216 the library to work.
1217
1218 * ext2_err.et.in (EXT2_ET_CORRUPT_SUPERBLOCK): Added new error
1219 code.
1220
Theodore Ts'o62c06f71997-04-29 14:34:47 +00001221Thu May 16 11:12:30 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1222
1223 * Release of E2fsprogs version 1.04
1224
Theodore Ts'o7f88b041997-04-26 14:48:50 +00001225Wed Mar 27 00:33:40 1996 <tytso@rsts-11.mit.edu>
1226
1227 * Release of E2fsprogs version 1.03
1228
1229Tue Mar 26 12:06:32 1996 <tytso@rsts-11.mit.edu>
1230
1231 * bitops.h (ext2fs_set_bit, ext2fs_clear_bit, ext2fs_test_bit):
1232 Change the m68k bit numbering for bitmasks to match with
1233 the bit numbering used by all other ext2 implementations.
1234
1235Thu Mar 7 03:37:00 1996 <tytso@rsts-11.mit.edu>
1236
1237 * inode.c (ext2fs_get_next_inode, ext2fs_close_inode_scan,
1238 ext2fs_open_inode_scan): Support dynamically-sized inodes.
1239
1240Wed Mar 6 12:26:29 1996 <tytso@rsts-11.mit.edu>
1241
1242 * inode.c (ext2fs_read_inode, ext2fs_write_inode): Support
1243 dynamically-sized inodes.
1244
1245 * openfs.c (ext2fs_open): Allow dynamic revision filesystem to be
1246 loaded.
1247
1248Tue Mar 5 03:49:37 1996 <tytso@rsts-11.mit.edu>
1249
1250 * initialize.c (ext2fs_initialize): Catch an error condition where
1251 the passed in size is *really* too small.
1252
1253 * alloc.c (ext2fs_new_inode):
1254 * ext2fs.h (EXT2_FIRST_INODE): Add support for dynamic revision to
1255 get first inode.
1256
1257Wed Feb 21 15:56:17 1996 <tytso@rsts-11.mit.edu>
1258
1259 * getsize.c (ext2fs_get_device_size): Open the device read-only
1260 when trying to determine its size.
1261
Theodore Ts'o74becf31997-04-26 14:37:06 +00001262Wed Jan 31 11:06:08 1996 <tytso@rsts-11.mit.edu>
1263
1264 * Release of E2fsprogs version 1.02
1265
1266Sat Dec 9 09:57:50 1995 <tytso@rsts-11.mit.edu>
1267
1268 * rw_bitops.c (ext2fs_write_block_bitmap):
1269 * bitops.c (ext2fs_test_bit, ext2fs_clear_bit, ext2fs_set_bit):
1270 * bitops.h (ext2fs_test_bit, ext2fs_clear_bit, ext2fs_set_bit):
1271 Rename {test,set,clear}_bit to ext2fs_{test,set,clear}_bit,
1272 to avoid conflicts with with kernel include files. Also
1273 rename ADDR and CONST_ADDR to EXT2FS_ADDR and
1274 EXT2FS_CONST_ADDR.
1275
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001276Thu Oct 26 12:09:16 1995 <tytso@rsts-11.mit.edu>
1277
1278 * ext2_err.et: Updated message in EXT2_ET_BASE to say version 0.5c
1279
1280 * swapfs.c (ext2fs_swap_super): Put an #ifdef check around
1281 s_def_resuid and s_def_resgid for backwards compatibility.
1282
1283Fri Oct 20 23:33:31 1995 <tytso@rsts-11.mit.edu>
1284
1285 * bitops.h: Added #ifdef's for Sparc.
1286
1287Wed Sep 6 22:14:46 1995 <tytso@rsts-11.mit.edu>
1288
1289 * getsize.c: #include <sys/ioctl.h> under Linux to pick up ioctl()
1290 declaration
1291
1292 * closefs.c: #include <string.h> to pick up memset() declaration
1293
1294Mon Sep 4 21:45:29 1995 Remy Card <card@bbj>
1295
1296 * Makefile.in: Added support for BSD shared libraries.
1297
1298 * initialize.c (ext2fs_initialize): Correctly set the s_creator_os
1299 flag.
1300
1301Mon Sep 4 09:55:30 1995 <tytso@rsts-11.mit.edu>
1302
1303 * unix_io.c (unix_open): Add a double check; if the passed in name
1304 is NULL, return EXT2_ET_BAD_DEVICE_NAME.
1305
1306 * ext2_err.et (EXT2_ET_BAD_DEVICE_NAME): Added new error code
1307
1308Wed Aug 16 15:44:10 1995 <tytso@rsts-11.mit.edu>
1309
1310 * inode.c (ext2fs_check_directory): Use LINUX_S_ISDIR instead of
1311 S_ISDIR.
1312
1313Tue Aug 15 13:08:36 1995 <tytso@rsts-11.mit.edu>
1314
1315 * getsize.c (ext2fs_get_device_size): Add support for reading the
1316 partition size from a BSD disk label.
1317
1318Thu Aug 10 09:33:26 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
1319
1320 * getsize.c (ext2fs_get_device_size): New function that determins
1321 the size of a device. Used by mke2fs and e2fsck.
1322
1323Sat Aug 12 03:09:54 1995 Remy Card <card@bbj>
1324
1325 * Makefile.in (install): Install static libraries in $(ulibdir)
1326 (/usr/lib on Linux) instead of $(libdir) (/lib on Linux).
1327
1328Wed Aug 9 17:04:23 1995 Theodore Y. Ts'o <tytso@dcl>
1329
1330 * bitmaps.c (ext2fs_free_inode_bitmap, ext2fs_free_block_bitmap):
1331 Move these functions to freefs.c.
1332
1333 * closefs.c (ext2fs_flush): If swapping blocks, clear the group
1334 descriptors shadow memory to keep purify quiet. (This
1335 also has the nice benefit that the unused portion of the
1336 shadow descriptors are zeroed out.)
1337
1338 * dirblock.c (ext2fs_write_dir_block): We need to use
1339 dirent->rec_len *before* it's byteswapped to find the
1340 location of the next directory structure!
1341
1342 * alloc.c (ext2fs_new_inode): Fix bug which could potentially
1343 cause ext2fs_new_inode to loop infinitely if we're trying
1344 to allocate an inode in group #0 and there are no free
1345 inodes at all in the system.
1346
1347 * closefs.c: #include <errno.h> if it exists.
1348
1349Sun Aug 6 13:27:50 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
1350
1351 * ext2fs.h (BLOCK_FLAG_HOLE): Added new definition for
1352 BLOCK_FLAG_APPEND. Added documentation for the block
1353 interator flags.
1354
1355Sat Aug 5 11:44:05 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
1356
1357 * Makefile.in (DLL_INSTALL_DIR, ELF_INSTALL_DIR): Set the
1358 installation directories correctly.
1359
1360Tue Jul 18 09:27:38 1995 <tytso@rsx-11.mit.edu>
1361
1362 * namei.c (process_dir_block):
1363 * mkdir.c (ext2fs_mkdir):
1364 * expanddir.c (expand_dir_proc): Use ext2fs_{read,write}_dir_block
1365 to read/write the directory block.
1366
1367 * dirblock.c (ext2fs_read_dir_block), ext2fs_write_dir_block): New
1368 file containing functions for reading and writing
1369 directory blocks (byte swapping if necesssary)
1370
1371 * block.c (block_iterate_ind, block_iterate_dind,
1372 block_iterate_tind): Byte swap the block addresses if
1373 EXT2_SWAP_BYTES is set (and swap them back before writing
1374 them out.)
1375
1376 * inode.c (inocpy_with_swap): New function.
1377 (ext2fs_get_next_inode, ext2fs_read_inode, ext2fs_write_inode):
1378 Call inocpy_with_swap if EXT2_SWAP_BYTES if set.
1379
1380 * closefs.c (ext2fs_flush): If EXT2_SWAP_BYTES is set, then swap
1381 the superblock and group descriptors before writing it out.
1382
1383 * openfs.c (ext2fs_open): If the magic number is byte-swapped,
1384 then set the EXT2_SWAP_BYTES and byte-swap the superblock
1385 and group descriptors.
1386
1387 * swapfs.c (ext2fs_swap_super, ext2fs_swap_group_desc): New functions
1388 to desp ext2 filesystem structures.
1389
1390 * bitops.c (set_bit, clear_bit, test_bit): Use modifications
1391 supplied by Pete A. Zaitcev so that the C language
1392 versions of these functions are more portable. They will
1393 now work on both little and big endian systems, and the
1394 assumption that 32-bit integers are used is gone.
1395
1396 * bitops.h (ext2_swab16, ext2_swab32): Added new functions for
1397 doing byte swapping.
1398
1399 * ext2fs.h (EXT2_SWAP_BYTES): Add new flag which indicates that
1400 byte swapping should take place.
1401
1402Sun Jul 16 06:21:43 1995 <tytso@rsx-11.mit.edu>
1403
1404 * Makefile.in, cmp_bitmaps.c (ext2fs_compare_block_bitmap_end,
1405 ext2fs_compare_inode_bitmap_end): Added new file
1406 containing routines to compare bitmaps.
1407
1408 * ext2_err.et (EXT2_ET_NEQ_BLOCK_BITMAP, EXT2_ET_NEQ_INODE_BITMAP):
1409 Added new error codes.
1410
1411Sat Jul 15 04:23:37 1995 <tytso@rsx-11.mit.edu>
1412
1413 * inode.c (ext2fs_get_next_inode): Don't check scan->inode_buffer;
1414 if the magic number is correct, it will be allocated.
1415
1416Fri Jul 14 19:02:59 1995 <tytso@rsx-11.mit.edu>
1417
1418 * block.c (block_iterate_ind, block_iterate_dind,
1419 block_iterate_tind): Don't recompute block_nr each loop;
1420 just increment it! Factor check of BLOCK_FLAG_APPEND out
1421 of the loop. Factor mask of BLOCK_CHANGED into changed
1422 variable out of the loop. (block_iterate_ind, in
1423 particular, gets called a lot, so every little
1424 optimization helps.)
1425
1426Thu Jul 13 08:02:45 1995 <tytso@rsx-11.mit.edu>
1427
1428 * block.c (block_iterate_ind, block_iterate_dind,
1429 block_iterate_tind): Precompute limit of loop to speed up
1430 block_iterate_ind and company.
1431
1432 * bitops.h (ext2fs_fast_mark_block_bitmap,
1433 ext2fs_fast_unmark_block_bitmap, ext2fs_fast_test_block_bitmap,
1434 ext2fs_fast_mark_inode_bitmap, ext2fs_fast_unmark_inode_bitmap,
1435 ext2fs_fast_test_inode_bitmap): Add fast version of these
1436 functions, which don't do range checking.
1437
1438 * bitops.h (ext2fs_get_block_bitmap_start,
1439 ext2fs_get_inode_bitmap_start, ext2fs_get_block_bitmap_end,
1440 ext2fs_get_inode_bitmap_end): Add new accessor functions
1441 which return the start and end points of the bitmaps.
1442
1443Tue Jul 11 18:59:41 1995 <tytso@rsx-11.mit.edu>
1444
1445 * llseek.c (ext2_llseek): If the offset is small enough, use lseek
1446 instead of llseek. The errno if the offset is too large
1447 and lseek is not supported should be EINVAL, not -EINVAL.
1448
1449Thu Jun 15 23:43:02 1995 Remy Card <card@bbj>
1450
1451 * Makefile.in: Added support for ELF shared libraries.
1452 Fixed typos in the compilation rules.
1453 (distclean): Added Makefile.
1454
1455 * llseek.c (llseek): New function, if llseek() does not exist in the
1456 C library.
1457 (ext2_llseek): Changed to call llseek().
1458
1459Mon Jun 12 08:29:07 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
1460
1461 * ext2fs.h: Use __u32 to define blk_t, instead of unsigned long.
1462
1463Sun Jun 11 15:02:54 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
1464
1465 * mkdir.c (ext2fs_mkdir): Use LINUX_S_IFDIR instead of S_IFDIR.
1466
1467 * ext2fs.h (LINUX_S_IFDIR): Define a linux specific versions of
1468 the S_*, which are normally defined in <sys/stat.h>. This
1469 allows us to compile e2fsprogs on a non-Linux system,
1470 which may have a different value for S_IFDIR.
1471
1472Sat Jun 10 23:47:05 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
1473
1474 * bitops.c (clear_bit, set_bit): Remove calls to cli() and sti();
1475 this is a user-mode application!
1476
1477Thu Jun 8 13:13:22 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
1478
1479 * llseek.c: Put the include of <linux/unistd.h> inside the #ifdef
1480 __linux__ so that non-linux systems won't see it.
1481
1482 * alloc.c: Include <errno.h> if possible.
1483 * badblocks.c: Ditto.
1484 * bb_inode.c: Ditto.
1485 * bitmaps.c: Ditto.
1486 * block.c: Ditto.
1487 * expanddir.c: Ditto.
1488 * get_pathname.c: Ditto.
1489 * initialize.c: Ditto.
1490 * inode.c: Ditto.
1491 * llseek.c: Ditto.
1492 * mkdir.c: Ditto.
1493 * namei.c: Ditto.
1494 * newdir.c: Ditto.
1495 * openfs.c: Ditto.
1496 * rw_bitmaps.c: Ditto.
1497 * unix_io.c: Ditto.
1498
1499 * Makefile.in: Rewritten to conform to GNU coding standards and
1500 support separate compilation directories.
1501
1502Thu May 11 04:13:12 1995 <tytso@rsx-11.mit.edu>
1503
1504 * initialize.c (ext2fs_initialize): Don't allow more than one
1505 bitmaps's worth of inodes in a group.
1506
Theodore Ts'of3db3561997-04-26 13:34:30 +00001507Sat Mar 11 14:07:11 1995 Theodore Y. Ts'o <tytso@localhost>
1508
1509 * llseek.c (ext2_llseek): Added error checking to the llseek()
1510 compat code to protect against overflow. This only
1511 applies to 1.0 and early 1.1 kernels, which don't support
1512 the llseek() system call.
1513
1514Thu Nov 24 16:29:00 1994 Theodore Y. Ts'o (tytso@rt-11)
1515
1516 * unix_io.c (unix_open): Initialize the read_error and write_error
1517 io_channel pointers to be null.
1518
1519 * bb_inode.c (clear_bad_block_proc): If an illegal block number is
1520 found, clear it but don't try to update the filesystem
1521 accounting information, since that's hopeless anyway.
1522
1523 * block.c (bloblock_iterate_ind, bloblock_iterate_dind,
1524 bloblock_iterate_tind): Check to see if the indirect blocks are
1525 valid before trying to read them.
1526
1527 * ext2_err.et (EXT2_ET_BAD_IND_BLOCK, EX2_ET_BAD_DIND_BLOCK,
1528 EXT2_ET_BAD_TIND_BLOCK): Add new error codes.
1529
1530 * bitops.h (ext2fs_mark_block_bitmap, ext2fs_unmark_block_bitmap,
1531 ext2fs_test_block_bitmap, ext2fs_mark_inode_bitmap,
1532 ext2fs_unmark_inode_bitmap, ext2fs_test_inode_bitmap): If an
1533 illegal block or inode number is passed in, return instead
1534 of trying to test, set, or clear the bit.
1535
1536Mon Nov 7 21:32:33 1994 Remy Card <card@bbj>
1537
1538 * Makefile: Added a dummy install target in case shared libraries
1539 are not built.
1540
1541Mon Oct 24 14:11:44 1994 (tytso@rsx-11)
1542
1543 * bitmaps.c (ext2fs_allocate_block_bitmap): Fix calculation of how
1544 the real last block of the bitmap should be calculated.
1545
1546Wed Sep 7 10:05:36 1994 (tytso@rsx-11)
1547
1548 * bitmaps.c (ext2fs_fudge_inode_bitmap_end,
1549 ext2fs_fudge_block_bitmap_end, ext2fs_clear_inode_bitmap,
1550 ext2fs_clear_block_bitmap, ext2fs_free_inode_bitmap,
1551 ext2fs_free_block_bitmap): Add magic number checking for
1552 the inode and block bitmaps.
1553
1554 * bitmaps.c (ext2fs_allocate_block_bitmap): Fix to set the correct
1555 magic number for a block bitmap instead of an inode bitmap.
1556
1557 * inode.c (ext2fs_close_inode_scan, ext2fs_get_next_inode): Add
1558 magic number checking for the inode_scan structure.
1559
1560 * badblocks.c (badblocks_list_free, badblocks_list_add,
1561 badblocks_list_test, badblocks_list_iterate_begin,
1562 badblocks_list_iterate, badblocks_list_iterate_end): Add
1563 magic number checking for the badblocks_list and
1564 badblocks_iterate structures.
1565
1566 * ext2_err.et (EXT2_ET_MAGIC_UNIX_IO_CHANNEL):
1567 * unix_io.c (unix_open, unix_close, unix_set_blksize, unix_read_blk,
1568 unix_write_blk, unix_flush): Add magic number checking
1569 both for io_channel structure and unix_private_data
1570 structure.
1571
1572 * openfs.c (ext2fs_open): Add check for io_manager structure's
1573 magic number.
1574
1575 * rw_bitmaps.c (ext2fs_write_inode_bitmap, ext2fs_write_block_bitmap,
1576 ext2fs_read_inode_bitmap, ext2fs_read_block_bitmap,
1577 ext2fs_read_bitmaps, ext2fs_write_bitmaps):
1578 * read_bb.c (ext2fs_read_bb_inode):
1579 * read_bb_file.c (ext2fs_read_bb_FILE):
1580 * newdir.c (ext2fs_new_dir_block):
1581 * namei.c (ext2fs_dir_iterate, ext2fs_lookup, ext2fs_namei):
1582 * link.c (ext2fs_link, ext2fs_unlink):
1583 * inode.c (ext2fs_open_inode_scan, ext2fs_read_inode,
1584 ext2fs_write_inode, ext2fs_get_blocks,
1585 ext2fs_check_directory):
1586 * get_pathname.c (ext2fs_get_pathname):
1587 * expanddir.c (ext2fs_expand_dir):
1588 * block.c (ext2fs_block_iterate):
1589 * bitmaps.c (ext2fs_allocate_inode_bitmap,
1590 ext2fs_allocate_block_bitmap):
1591 * bb_inode.c (ext2fs_update_bb_inode):
1592 * alloc.c (ext2fs_new_inode,ext2fs_new_block,ext2fs_get_free_blocks):
1593 * check_desc.c (ext2fs_check_desc):
1594 * closefs.c (ext2fs_close, ext2fs_flush):
1595 * freefs.c (ext2fs_free): Add check for ext2_filsys magic number.
1596
1597 * Makefile:
1598 * ext2fs.h:
1599 * openfs.c:
1600 * check_desc.c (ext2fs_check_desc): Move ext2fs_check_desc from
1601 openfs.c into its own file.
1602
1603 * ext2fs.h (EXT2_CHECK_MAGIC): Added macro for checking for
1604 structure magic numbers.
1605
1606 * closefs.c (ext2fs_flush): Folded in Remy Card's changes to clear
1607 the EXT2_VALID_FS flag in the backup superblock blocks, so that if
1608 someone uses the -b option to specify the use of the backup
1609 superblock --- this usually means that the main superblock is
1610 toast. :-)
1611
1612 * ext2fs.h:
1613 * ext2_err.et (EXT2_ET_REV_TOO_HIGH):
1614 * openfs.c (ext2fs_open): Folded in Remy Card's changes to add a
1615 revision level to the superblock.
1616
1617Sun Aug 21 00:50:08 1994 Theodore Y. Ts'o (tytso@rt-11)
1618
1619 * ext2fs.h:
1620 * bitmaps.c:
1621 * bitops.c
1622 * bitops.h:
1623 * openfs.c:
1624 * initialize.c: Completely revamped the inode and block bitmap
1625 structures, so that they can be better chance of being extensible
1626 in a shared library. They are now their own type, instead of
1627 being a char *. Also, the function signatures of
1628 ext2fs_test_block_bitmap, ext2fs_mark_block_bitmap,
1629 ext2fs_unmark_block_bitmap, ext2fs_test_inode_bitmap,
1630 ext2fs_mark_inode_bitmap, and ext2fs_unmark_inode_bitmap were
1631 changed to eliminate the ext2_filsys argument, since it is no
1632 longer necessary.
1633
1634Wed Aug 17 21:46:44 1994 Remy Card (card@bbj)
1635
1636 * unix_io.c (unix_read_blk and unix_write_blk): use the llseek
1637 system call if available.
1638
1639 * llseek.c: new file. This is the stub calling the llseek system
1640 call which allows supports for 2GB+ file systems.
1641
1642 * initialize.c (ext2fs_initialize): Ext2fs_initialize now stores
1643 the creator operating system.
1644
1645Wed Aug 17 10:03:24 1994 Theodore Y. Ts'o (tytso@rt-11)
1646
1647 * initialize.c (ext2fs_initialize): Ext2fs_initialize now sets up
1648 the group descriptor statistics in addition to everything else.
1649 This relieves mke2fs of the responsibility of doing it.
1650
1651 * bitops.c, bitops.h: Add assembly inline functions for the 68000.
1652 Added a new #define, _EXT2_HAVE_ASM_BITOPS_ to control whether or
1653 not the generic C function equivalents should be included or not.
1654
1655 * openfs.c (ext2fs_open): If a superblock is specified, then use
1656 the backup group descriptors that go along with this superblock,
1657 instead of using the primary group descriptors. This allows
1658 e2fsck to recover filesystems where the primary group descriptors
1659 have been trashed.
1660
1661