Whamcloud - gitweb
ba77b9392b2294da3260ee6ddb911842d3ef1cd8
[tools/e2fsprogs.git] / lib / ext2fs / ChangeLog
1 Wed Jan 31 11:06:08 1996    <tytso@rsts-11.mit.edu>
2
3         * Release of E2fsprogs version 1.02
4
5 Sat Dec  9 09:57:50 1995    <tytso@rsts-11.mit.edu>
6
7         * rw_bitops.c (ext2fs_write_block_bitmap):
8         * bitops.c (ext2fs_test_bit, ext2fs_clear_bit, ext2fs_set_bit):
9         * bitops.h (ext2fs_test_bit, ext2fs_clear_bit, ext2fs_set_bit):
10                 Rename {test,set,clear}_bit to ext2fs_{test,set,clear}_bit, 
11                 to avoid conflicts with with kernel include files.  Also
12                 rename ADDR and CONST_ADDR to EXT2FS_ADDR and
13                 EXT2FS_CONST_ADDR. 
14
15 Thu Oct 26 12:09:16 1995    <tytso@rsts-11.mit.edu>
16
17         * ext2_err.et: Updated message in EXT2_ET_BASE to say version 0.5c
18
19         * swapfs.c (ext2fs_swap_super): Put an #ifdef check around
20                 s_def_resuid and s_def_resgid for backwards compatibility.
21
22 Fri Oct 20 23:33:31 1995    <tytso@rsts-11.mit.edu>
23
24         * bitops.h: Added #ifdef's for Sparc.
25
26 Wed Sep  6 22:14:46 1995    <tytso@rsts-11.mit.edu>
27
28         * getsize.c: #include <sys/ioctl.h> under Linux to pick up ioctl()
29                 declaration
30
31         * closefs.c: #include <string.h> to pick up memset() declaration
32
33 Mon Sep  4 21:45:29 1995  Remy Card  <card@bbj>
34
35         * Makefile.in: Added support for BSD shared libraries.
36
37         * initialize.c (ext2fs_initialize): Correctly set the s_creator_os
38                 flag.
39
40 Mon Sep  4 09:55:30 1995    <tytso@rsts-11.mit.edu>
41
42         * unix_io.c (unix_open): Add a double check; if the passed in name
43                 is NULL, return EXT2_ET_BAD_DEVICE_NAME.
44
45         * ext2_err.et (EXT2_ET_BAD_DEVICE_NAME): Added new error code
46
47 Wed Aug 16 15:44:10 1995    <tytso@rsts-11.mit.edu>
48
49         * inode.c (ext2fs_check_directory): Use LINUX_S_ISDIR instead of
50                 S_ISDIR.
51
52 Tue Aug 15 13:08:36 1995    <tytso@rsts-11.mit.edu>
53
54         * getsize.c (ext2fs_get_device_size): Add support for reading the
55                 partition size from a BSD disk label.
56
57 Thu Aug 10 09:33:26 1995  Theodore Y. Ts'o  <tytso@lurch.mit.edu>
58
59         * getsize.c (ext2fs_get_device_size): New function that determins
60                 the size of a device.  Used by mke2fs and e2fsck.
61
62 Sat Aug 12 03:09:54 1995  Remy Card  <card@bbj>
63
64         * Makefile.in (install): Install static libraries in $(ulibdir)
65                 (/usr/lib on Linux) instead of $(libdir) (/lib on Linux).
66
67 Wed Aug  9 17:04:23 1995  Theodore Y. Ts'o  <tytso@dcl>
68
69         * bitmaps.c (ext2fs_free_inode_bitmap, ext2fs_free_block_bitmap):
70                 Move these functions to freefs.c.
71
72         * closefs.c (ext2fs_flush): If swapping blocks, clear the group
73                 descriptors shadow memory to keep purify quiet.  (This
74                 also has the nice benefit that the unused portion of the
75                 shadow descriptors are zeroed out.)
76
77         * dirblock.c (ext2fs_write_dir_block): We need to use
78                 dirent->rec_len *before* it's byteswapped to find the
79                 location of the next directory structure!
80
81         * alloc.c (ext2fs_new_inode): Fix bug which could potentially
82                 cause ext2fs_new_inode to loop infinitely if we're trying
83                 to allocate an inode in group #0 and there are no free
84                 inodes at all in the system.
85
86         * closefs.c: #include <errno.h> if it exists.
87
88 Sun Aug  6 13:27:50 1995  Theodore Y. Ts'o  <tytso@lurch.mit.edu>
89
90         * ext2fs.h (BLOCK_FLAG_HOLE): Added new definition for
91                 BLOCK_FLAG_APPEND.  Added documentation for the block
92                 interator flags.
93
94 Sat Aug  5 11:44:05 1995  Theodore Y. Ts'o  <tytso@lurch.mit.edu>
95
96         * Makefile.in (DLL_INSTALL_DIR, ELF_INSTALL_DIR): Set the
97                 installation directories correctly.
98
99 Tue Jul 18 09:27:38 1995    <tytso@rsx-11.mit.edu>
100
101         * namei.c (process_dir_block): 
102         * mkdir.c (ext2fs_mkdir): 
103         * expanddir.c (expand_dir_proc): Use ext2fs_{read,write}_dir_block
104                 to read/write the directory block.
105
106         * dirblock.c (ext2fs_read_dir_block), ext2fs_write_dir_block): New
107                 file containing functions for reading and writing
108                 directory blocks (byte swapping if necesssary)
109
110         * block.c (block_iterate_ind, block_iterate_dind, 
111                 block_iterate_tind): Byte swap the block addresses if
112                 EXT2_SWAP_BYTES is set (and swap them back before writing
113                 them out.)
114
115         * inode.c (inocpy_with_swap): New function.
116         (ext2fs_get_next_inode, ext2fs_read_inode, ext2fs_write_inode):
117                 Call inocpy_with_swap if EXT2_SWAP_BYTES if set.
118
119         * closefs.c (ext2fs_flush): If EXT2_SWAP_BYTES is set, then swap
120                 the superblock and group descriptors before writing it out.
121
122         * openfs.c (ext2fs_open): If the magic number is byte-swapped,
123                 then set the EXT2_SWAP_BYTES and byte-swap the superblock
124                 and group descriptors.
125
126         * swapfs.c (ext2fs_swap_super, ext2fs_swap_group_desc): New functions
127                 to desp ext2 filesystem structures.
128
129         * bitops.c (set_bit, clear_bit, test_bit): Use modifications
130                 supplied by Pete A. Zaitcev so that the C language
131                 versions of these functions are more portable.  They will
132                 now work on both little and big endian systems, and the
133                 assumption that 32-bit integers are used is gone.
134
135         * bitops.h (ext2_swab16, ext2_swab32): Added new functions for
136                 doing byte swapping.
137
138         * ext2fs.h (EXT2_SWAP_BYTES): Add new flag which indicates that
139                 byte swapping should take place.
140
141 Sun Jul 16 06:21:43 1995    <tytso@rsx-11.mit.edu>
142
143         * Makefile.in, cmp_bitmaps.c (ext2fs_compare_block_bitmap_end,
144                 ext2fs_compare_inode_bitmap_end): Added new file
145                 containing routines to compare bitmaps.
146
147         * ext2_err.et (EXT2_ET_NEQ_BLOCK_BITMAP, EXT2_ET_NEQ_INODE_BITMAP): 
148                 Added new error codes.
149
150 Sat Jul 15 04:23:37 1995    <tytso@rsx-11.mit.edu>
151
152         * inode.c (ext2fs_get_next_inode): Don't check scan->inode_buffer;
153                 if the magic number is correct, it will be allocated.
154
155 Fri Jul 14 19:02:59 1995    <tytso@rsx-11.mit.edu>
156
157         * block.c (block_iterate_ind, block_iterate_dind, 
158                 block_iterate_tind): Don't recompute block_nr each loop;
159                 just increment it!  Factor check of BLOCK_FLAG_APPEND out
160                 of the loop.  Factor mask of BLOCK_CHANGED into changed
161                 variable out of the loop.  (block_iterate_ind, in
162                 particular, gets called a lot, so every little
163                 optimization helps.)
164
165 Thu Jul 13 08:02:45 1995    <tytso@rsx-11.mit.edu>
166
167         * block.c (block_iterate_ind, block_iterate_dind, 
168                 block_iterate_tind): Precompute limit of loop to speed up
169                 block_iterate_ind and company.
170
171         * bitops.h (ext2fs_fast_mark_block_bitmap, 
172                 ext2fs_fast_unmark_block_bitmap, ext2fs_fast_test_block_bitmap,
173                 ext2fs_fast_mark_inode_bitmap, ext2fs_fast_unmark_inode_bitmap,
174                 ext2fs_fast_test_inode_bitmap): Add fast version of these
175                 functions, which don't do range checking.
176
177         * bitops.h (ext2fs_get_block_bitmap_start, 
178                 ext2fs_get_inode_bitmap_start, ext2fs_get_block_bitmap_end,
179                 ext2fs_get_inode_bitmap_end): Add new accessor functions
180                 which return the start and end points of the bitmaps.
181
182 Tue Jul 11 18:59:41 1995    <tytso@rsx-11.mit.edu>
183
184         * llseek.c (ext2_llseek): If the offset is small enough, use lseek
185                 instead of llseek.  The errno if the offset is too large
186                 and lseek is not supported should be EINVAL, not -EINVAL.
187
188 Thu Jun 15 23:43:02 1995  Remy Card  <card@bbj>
189
190         * Makefile.in: Added support for ELF shared libraries.
191                 Fixed typos in the compilation rules.
192                 (distclean): Added Makefile.
193
194         * llseek.c (llseek): New function, if llseek() does not exist in the
195         C library.
196         (ext2_llseek): Changed to call llseek().
197
198 Mon Jun 12 08:29:07 1995  Theodore Y. Ts'o  <tytso@lurch.mit.edu>
199
200         * ext2fs.h: Use __u32 to define blk_t, instead of unsigned long.
201
202 Sun Jun 11 15:02:54 1995  Theodore Y. Ts'o  <tytso@lurch.mit.edu>
203
204         * mkdir.c (ext2fs_mkdir): Use LINUX_S_IFDIR instead of S_IFDIR.
205
206         * ext2fs.h (LINUX_S_IFDIR): Define a linux specific versions of
207                 the S_*, which are normally defined in <sys/stat.h>.  This
208                 allows us to compile e2fsprogs on a non-Linux system,
209                 which may have a different value for S_IFDIR.
210
211 Sat Jun 10 23:47:05 1995  Theodore Y. Ts'o  <tytso@lurch.mit.edu>
212
213         * bitops.c (clear_bit, set_bit): Remove calls to cli() and sti();
214                 this is a user-mode application!
215
216 Thu Jun  8 13:13:22 1995  Miles Bader  <miles@churchy.gnu.ai.mit.edu>
217
218         * llseek.c: Put the include of <linux/unistd.h> inside the #ifdef
219         __linux__ so that non-linux systems won't see it.
220
221         * alloc.c: Include <errno.h> if possible.
222         * badblocks.c: Ditto.
223         * bb_inode.c: Ditto.
224         * bitmaps.c: Ditto.
225         * block.c: Ditto.
226         * expanddir.c: Ditto.
227         * get_pathname.c: Ditto.
228         * initialize.c: Ditto.
229         * inode.c: Ditto.
230         * llseek.c: Ditto.
231         * mkdir.c: Ditto.
232         * namei.c: Ditto.
233         * newdir.c: Ditto.
234         * openfs.c: Ditto.
235         * rw_bitmaps.c: Ditto.
236         * unix_io.c: Ditto.
237
238         * Makefile.in: Rewritten to conform to GNU coding standards and
239         support separate compilation directories.
240
241 Thu May 11 04:13:12 1995    <tytso@rsx-11.mit.edu>
242
243         * initialize.c (ext2fs_initialize): Don't allow more than one
244                 bitmaps's worth of inodes in a group.
245
246 Sat Mar 11 14:07:11 1995  Theodore Y. Ts'o  <tytso@localhost>
247
248         * llseek.c (ext2_llseek): Added error checking to the llseek()
249                 compat code to protect against overflow.  This only
250                 applies to 1.0 and early 1.1 kernels, which don't support
251                 the llseek() system call.
252
253 Thu Nov 24 16:29:00 1994  Theodore Y. Ts'o  (tytso@rt-11)
254
255         * unix_io.c (unix_open): Initialize the read_error and write_error
256                 io_channel pointers to be null.
257
258         * bb_inode.c (clear_bad_block_proc): If an illegal block number is
259                 found, clear it but don't try to update the filesystem
260                 accounting information, since that's hopeless anyway.
261
262         * block.c (bloblock_iterate_ind, bloblock_iterate_dind,
263         bloblock_iterate_tind): Check to see if the indirect blocks are
264                 valid before trying to read them.
265
266         * ext2_err.et (EXT2_ET_BAD_IND_BLOCK, EX2_ET_BAD_DIND_BLOCK,
267         EXT2_ET_BAD_TIND_BLOCK): Add new error codes.
268
269         * bitops.h (ext2fs_mark_block_bitmap, ext2fs_unmark_block_bitmap,
270         ext2fs_test_block_bitmap, ext2fs_mark_inode_bitmap,
271         ext2fs_unmark_inode_bitmap, ext2fs_test_inode_bitmap):  If an
272                 illegal block or inode number is passed in, return instead
273                 of trying to test, set, or clear the bit.
274
275 Mon Nov  7 21:32:33 1994  Remy Card  <card@bbj>
276
277         * Makefile: Added a dummy install target in case shared libraries
278                 are not built.
279
280 Mon Oct 24 14:11:44 1994    (tytso@rsx-11)
281
282         * bitmaps.c (ext2fs_allocate_block_bitmap): Fix calculation of how
283                 the real last block of the bitmap should be calculated.
284
285 Wed Sep  7 10:05:36 1994    (tytso@rsx-11)
286
287         * bitmaps.c (ext2fs_fudge_inode_bitmap_end, 
288                 ext2fs_fudge_block_bitmap_end, ext2fs_clear_inode_bitmap,
289                 ext2fs_clear_block_bitmap, ext2fs_free_inode_bitmap,
290                 ext2fs_free_block_bitmap): Add magic number checking for
291                 the inode and block bitmaps.
292
293         * bitmaps.c (ext2fs_allocate_block_bitmap): Fix to set the correct
294                 magic number for a block bitmap instead of an inode bitmap.
295
296         * inode.c (ext2fs_close_inode_scan, ext2fs_get_next_inode):  Add
297                 magic number checking for the inode_scan structure.
298
299         * badblocks.c (badblocks_list_free, badblocks_list_add, 
300                 badblocks_list_test, badblocks_list_iterate_begin,
301                 badblocks_list_iterate, badblocks_list_iterate_end): Add
302                 magic number checking for the badblocks_list and
303                 badblocks_iterate structures.
304
305         * ext2_err.et (EXT2_ET_MAGIC_UNIX_IO_CHANNEL): 
306         * unix_io.c (unix_open, unix_close, unix_set_blksize, unix_read_blk,
307                 unix_write_blk, unix_flush): Add magic number checking
308                 both for io_channel structure and unix_private_data
309                 structure.
310
311         * openfs.c (ext2fs_open): Add check for io_manager structure's
312                 magic number.
313
314         * rw_bitmaps.c (ext2fs_write_inode_bitmap, ext2fs_write_block_bitmap,
315                 ext2fs_read_inode_bitmap, ext2fs_read_block_bitmap,
316                 ext2fs_read_bitmaps, ext2fs_write_bitmaps): 
317         * read_bb.c (ext2fs_read_bb_inode): 
318         * read_bb_file.c (ext2fs_read_bb_FILE): 
319         * newdir.c (ext2fs_new_dir_block): 
320         * namei.c (ext2fs_dir_iterate, ext2fs_lookup, ext2fs_namei): 
321         * link.c (ext2fs_link, ext2fs_unlink): 
322         * inode.c (ext2fs_open_inode_scan, ext2fs_read_inode,
323                 ext2fs_write_inode, ext2fs_get_blocks, 
324                 ext2fs_check_directory): 
325         * get_pathname.c (ext2fs_get_pathname): 
326         * expanddir.c (ext2fs_expand_dir): 
327         * block.c (ext2fs_block_iterate): 
328         * bitmaps.c (ext2fs_allocate_inode_bitmap, 
329                 ext2fs_allocate_block_bitmap): 
330         * bb_inode.c (ext2fs_update_bb_inode): 
331         * alloc.c (ext2fs_new_inode,ext2fs_new_block,ext2fs_get_free_blocks): 
332         * check_desc.c (ext2fs_check_desc): 
333         * closefs.c (ext2fs_close, ext2fs_flush): 
334         * freefs.c (ext2fs_free): Add check for ext2_filsys magic number.
335
336         * Makefile:
337         * ext2fs.h:
338         * openfs.c:
339         * check_desc.c (ext2fs_check_desc): Move ext2fs_check_desc from
340         openfs.c into its own file.
341
342         * ext2fs.h (EXT2_CHECK_MAGIC): Added macro for checking for
343         structure magic numbers.
344
345         * closefs.c (ext2fs_flush): Folded in Remy Card's changes to clear
346         the EXT2_VALID_FS flag in the backup superblock blocks, so that if
347         someone uses the -b option to specify the use of the backup
348         superblock --- this usually means that the main superblock is
349         toast.  :-)
350
351         * ext2fs.h: 
352         * ext2_err.et (EXT2_ET_REV_TOO_HIGH): 
353         * openfs.c (ext2fs_open): Folded in Remy Card's changes to add a
354         revision level to the superblock.
355
356 Sun Aug 21 00:50:08 1994  Theodore Y. Ts'o  (tytso@rt-11)
357
358         * ext2fs.h:
359         * bitmaps.c:
360         * bitops.c
361         * bitops.h:
362         * openfs.c:
363         * initialize.c: Completely revamped the inode and block bitmap
364         structures, so that they can be better chance of being extensible
365         in a shared library.  They are now their own type, instead of
366         being a char *.  Also, the function signatures of
367         ext2fs_test_block_bitmap, ext2fs_mark_block_bitmap,
368         ext2fs_unmark_block_bitmap, ext2fs_test_inode_bitmap,
369         ext2fs_mark_inode_bitmap, and ext2fs_unmark_inode_bitmap were
370         changed to eliminate the ext2_filsys argument, since it is no
371         longer necessary.
372
373 Wed Aug 17 21:46:44 1994  Remy Card  (card@bbj)
374
375         * unix_io.c (unix_read_blk and unix_write_blk): use the llseek
376         system call if available.
377
378         * llseek.c: new file.  This is the stub calling the llseek system
379         call which allows supports for 2GB+ file systems.
380
381         * initialize.c (ext2fs_initialize): Ext2fs_initialize now stores
382         the creator operating system.
383
384 Wed Aug 17 10:03:24 1994  Theodore Y. Ts'o  (tytso@rt-11)
385
386         * initialize.c (ext2fs_initialize): Ext2fs_initialize now sets up
387         the group descriptor statistics in addition to everything else.
388         This relieves mke2fs of the responsibility of doing it.
389
390         * bitops.c, bitops.h: Add assembly inline functions for the 68000.
391         Added a new #define, _EXT2_HAVE_ASM_BITOPS_ to control whether or
392         not the generic C function equivalents should be included or not.
393
394         * openfs.c (ext2fs_open): If a superblock is specified, then use
395         the backup group descriptors that go along with this superblock,
396         instead of using the primary group descriptors.  This allows
397         e2fsck to recover filesystems where the primary group descriptors
398         have been trashed.
399
400