1
2004-02-28 Theodore Ts'o <tytso@mit.edu>
3
* Release of E2fsprogs 1.35
5
2004-02-21 Theodore Ts'o <tytso@mit.edu>
7
* ext2fs.h (ext2fs_resize_mem): Fix C++ problem. (Addresses Red
8
Hat Bugzilla #112448; thanks Thomas Woerner from Red Hat.)
10
2004-02-14 Theodore Ts'o <tytso@mit.edu>
12
* namei.c (follow_link): Correctly deal with symlinks that have
13
extended attribute information. (Addresses Debian Bug
16
2004-01-30 Theodore Ts'o <tytso@mit.edu>
18
* ext2_fs.h: Reserve an extra 4 bytes for the journal backup,
19
which we're using due to a typo in the e2fsck code. (Oops)
21
* swapfs.c (ext2fs_swap_inode): Fix byte swap bug which causes SE
22
Linux created symlinks with mandatory attributes to fail
23
to be properly handled on big endian systems. (Addresses
25
(ext2fs_swap_super): Byte swap some new fields in the
26
superblock, including the journal backup fields.
28
2003-12-02 Theodore Ts'o <tytso@mit.edu>
30
* alloc.c, bb_inode.c, bitops.c, block.c, check_desc.c, closefs.c,
31
dir_iterate.c, dirblock.c, expanddir.c, ext2fs.h,
32
get_pathname.c, icount.c, imager.c, initalize.c, inode.c,
33
lookup.c, openfs.c, read_bb.c, read_bb_file.c,
34
rw_bitmaps.c, unix_io.c, unlink.c, write_bb_file.c: Fix
35
gcc -Wall complaints. Mainly marking variables as being
36
unsued, and catching signed vs. unsigned comparisons.
38
2003-09-03 Theodore Ts'o <tytso@mit.edu>
40
* closefs.c (ext2fs_super_and_bgd_loc): New function which
41
centralizes the calculation of the superblock and block
43
(ext2fs_flush): Use ext2fs_super_and_bgd_lock to figure
44
out where to write the superblock and block group
47
* alloc_sb.c (ext2fs_reserve_super_and_bgd): New function which
48
reserves space in the block bitmap using
49
ext2fs_super_and_bgd_loc.
51
* initialize.c (ext2fs_initialize): Use
52
ext2fs_reserve_super_and_bgd to initialize the block bitmap.
54
2003-08-20 Theodore Ts'o <tytso@mit.edu>
56
* inode_io.c (ext2fs_inode_io_intern2), ext2fs.h: Add new function
57
allows the caller to pass in the inode data structure.
59
* fileio.c (ext2fs_file_open2), ext2fs.h: Add new function which
60
allows the caller to pass in the inode to be used in the
63
* ext2_fs.h: Add a backup of the location of the journal inode
64
blocks to the superblock.
66
* mkjournal.c (write_journal_inode): Save the location of the
67
journal inode to the backup location in the superblock.
69
2003-08-01 Philipp Thomas <pthomas@suse.de>
71
* alloc.c, badblocks.c, bb_inode.c, bitmaps.c, block.c, bmap.c,
72
bmove.c, brel_ma.c, closefs.c, dblist.c, dblist_dir.c,
73
dir_iterate.c, dirblock.c, dupfs.c, expanddir.c, ext2fs.h,
74
ext_attr.c, fileio.c, freefs.c, get_pathname.c, icount.c,
75
initialize.c, inode.c, inode_io.c, irel_ma.c, mkdir.c,
76
mkjournal.c, namei.c, newdir.c, openfs.c, rs_bitmap.c,
77
rw_bitmaps.c, test_io.c, unix_io.c: ext2fs_getmem(),
78
ext2fs_free_mem(), and ext2fs_resize_mem() all now take a
79
'void *' instead of a 'void **' in order to avoid pointer
80
aliasing problems with GCC 3.x.
82
2003-07-25 Theodore Ts'o <tytso@mit.edu>
84
* Release of E2fsprogs 1.34
86
2003-07-06 Theodore Ts'o <tytso@mit.edu>
88
* kernel-jbd.h, flushb.c: Fix gcc -Wall nitpicks (indented cpp
91
* ext2_types.h.in, initialize.c: Fix gcc -Wall nitpicks
94
* ismounted.c: Fix gcc -Wall nitpicks (Don't use exit as a goto label)
96
* llseek.c: Fix gcc -Wall nitpicks (don't use #elsif)
98
* lookup.c, read_bb.c: Fix gcc -Wall nitpicks (indent
99
non-traditional #pragma)
101
* test_io.c: Fix gcc -Wall nitpicks (const/unsigned type issues)
103
2003-06-24 <tytso@snap.thunk.org>
105
* badblocks.c, ext2fs.h (ext2fs_u32_list_find,
106
ext2fs_u32_list_test, ext2fs_u32_list_del,
107
ext2fs_badblocks_list_del): Add functions to delete a
108
block from the badblocks list.
109
* tst_badblocks.c: Add test cases for ext2fs_badblocks_list_del().
111
2003-05-21 Theodore Ts'o <tytso@mit.edu>
113
* getsectsize.c (ext2fs_get_device_sectsize): New function which
114
returns the hardware sector size (if it is available).
116
2003-05-13 Theodore Ts'o <tytso@mit.edu>
118
* unix_io.c: Add #ifdef NO_IO_CACHE which disables all userspace
119
caching by the unix_io layer. Not enabled, only for
122
2003-05-05 Theodore Ts'o <tytso@mit.edu>
124
* test_io.c: Pay attention to the environment variables
125
TEST_IO_LOGFILE, TEST_IO_FLAGS, and TEST_IO_BLOCK to
126
determine whether or not we should log io activity, and to
129
2003-05-03 Theodore Ts'o <tytso@mit.edu>
131
* tst_badblocks.c (file_test): Use tmpfile() instead of mktemp().
133
2003-04-29 Theodore Ts'o <tytso@mit.edu>
135
* getsize.c (ext2fs_get_device_size): Allow windows code to get
136
the resize for filesystems that are in regular files.
138
2003-04-21 Theodore Ts'o <tytso@mit.edu>
140
* Release of E2fsprogs 1.33
142
2003-04-21 Theodore Ts'o <tytso@mit.edu>
144
* Makefile.in: Use DYLD_LIBRAY_PATH so that "make check" works on
145
Darwin systems when building with shared libraries.
147
2003-04-18 Theodore Ts'o <tytso@mit.edu>
149
* unix_io.c: Use __CYGWIN__ instead of CYGWIN.
151
2003-04-17 Theodore Ts'o <tytso@mit.edu>
153
* getsize.c: Add Cygwin/Windows version of ext2fs_get_device_size()
155
2003-04-12 Theodore Ts'o <tytso@mit.edu>
157
* unix_io.c (raw_read_blk): Add Cygwin support (the Windows block
158
device only accepts sector aligned read requests.
160
* ismounted.c (check_mntent_file): Deal with OS's that don't
163
* imager.c: If the OS doesn't define ssize_t, typedef it to int.
165
2003-04-11 Theodore Ts'o <tytso@mit.edu>
167
* ext2_fs.h (EXT2_FEATURE_RO_COMPAT_BTREE_DIR): Comment out unused
170
2003-03-30 Theodore Ts'o <tytso@mit.edu>
172
* Makefile.in: Use the compile_et --build-tree option.
174
2003-03-14 Theodore Ts'o <tytso@mit.edu>
176
* getsize.c: Add support for Apple Darwin's ioctl to get the hard
179
* badblocks.c (ext2fs_u32_list_count), ext2fs.h: Add new function
180
which returns the number of entries in the list.
182
2003-03-10 Theodore Ts'o <tytso@mit.edu>
184
* fileio.c (ext2fs_file_lseek): Fix bug added when adding 64-bit
185
support; avoid null dereference when ret_pos is NULL.
187
2003-03-06 Theodore Tso <tytso@mit.edu>
189
* ext2_types.h.in: Don't redefine types if other e2fsprogs
190
*_types.h files have been included already.
192
* kernel-jbd.h: Use C99 variadic cpp macros if not using GCC.
193
(Older GCC's don't support the C99 variadic macros.)
195
* flushb.c (ext2fs_sync_device),
196
ismounted.c (ext2fs_check_mount_point): Avoid GCC extension:
197
#warning not supported by Solaris suncc
199
* ext2_ext_attr.h: Avoid GCC extension: 0 length arrays in
200
structure definition. Not needed for now in
203
2003-01-25 Theodore Ts'o <tytso@mit.edu>
205
* dirhash.c: Fix gcc -Wall nits.
207
2003-01-22 Theodore Ts'o <tytso@mit.edu>
209
* unix_io.c (unix_write_blk): Fix up GCC -Wall nits.
211
2003-01-21 Theodore Ts'o <tytso@mit.edu>
213
* fileio.c (ext2fs_file_read, ext2_file_lseek,
214
ext2_file_get_size): Add 64-bit support.
216
* ext2fs.h (EXT2_I_SIZE): Add macro which caluates a 64bit size
217
from i_size and i_size_high.
219
2003-01-19 Theodore Ts'o <tytso@mit.edu>
221
* initialize.c (ext2fs_initialize): If the user specifies a really
222
large number of inodes, then reduce the number of blocks
223
per group until we find a workable set of filesystem
226
* ext2_err.et.in (EXT2_ET_TOO_MANY_INODES): Add new error code.
228
2002-11-09 Theodore Ts'o <tytso@mit.edu>
230
* Release of E2fsprogs 1.32
232
2002-11-09 Theodore Ts'o <tytso@mit.edu>
234
* unix_io.c (find_cached_block, reuse_cache, unix_read_blk,
235
unix_write_blk): Optimize routines so that we don't end up
236
searching the cache twice when a block isn't in the
237
cache. If reads are larger than READ_DIRECT_SIZE, don't
238
let them go through the cache.
240
* unix_io.c (find_cached_block): Fixed bug which caused some clean
241
blocks to be erroneously marked as dirty, so they would
242
get written back to the disk before they are evicted from
243
the cache. Harmless, but it slows down e2fsck
246
2002-11-08 Theodore Ts'o <tytso@mit.edu>
248
* Release of E2fsprogs 1.31
250
2002-11-08 <tytso@snap.thunk.org>
252
* Makefile.in (check): Skip trying to compile test_byteswap
253
if --disable-byteswaap had been given to configure.
255
2002-11-07 <tytso@snap.thunk.org>
257
* closefs.c (write_bgdesc, ext2fs_flush): Fix bug in meta_bg
258
support when the MASTER_SB_ONLY flag is set. Some of
259
the descriptor blocks that should have been written out
260
were getting skipped.
262
2002-10-31 Theodore Ts'o <tytso@mit.edu>
264
* Release of E2fsprogs 1.30
266
2002-10-31 Theodore Ts'o <tytso@mit.edu>
268
* ext2_fs.h: Add support for a new inode flag, which is to be used
269
for indicating the top of directory hierarchies for the
270
Orlov block allocator.
272
* ismounted.c (check_mntent, check_mntent_file): Add better
273
support for loopback-mounted filesystems. Check /etc/mtab
274
if /proc/mounts doesn't turn up any mount flags, since
275
/etc/mtab has the loopback image filename, instead of
276
/dev/loop0. Also, check based on st_dev and st_ino, so
277
that if a relative pathname or a pathnames using symbolic
278
links are used, we can detect the the filesystem correctly
279
in those cases. (Addresses Sourceforge bug #619119)
281
* flushb.c (ext2fs_sync_device): If the BLKFLSBUF ioctl succeeds,
282
don't try the FDFLUSH ioctl that was required for floppies
283
with older kernels. This avoids needless whining from the
284
MD device driver. (Addresses Sourceforge bug #545832).
286
* openfs.c (ext2fs_open): Fix bug which caused us to pass the
287
wrong group_block to ext2fs_descriptor_block_loc if we're
288
using the backup superblock/block group descriptors.
289
(ext2fs_descriptor_block_loc): If we're using the backup
290
superblock descriptors, use the backup descriptor block in
291
the next block group.
293
2002-10-30 Theodore Ts'o <tytso@mit.edu>
295
* alloc_tables.c (ext2fs_allocate_group_table): Allocate the inode
296
table so that it buts up against the bitmap blocks, to
297
avoid block fragmentation.
299
* closefs.c (write_bgdesc), initalize.c (ext2fs_initialize): Fix
300
bug; only allocate group descriptor blocks up to
303
2002-10-25 Theodore Ts'o <tytso@mit.edu>
305
* ext2_fs.h: Add a new superblock field, s_mkfs_time, so that we
306
know when a filesystem was created. (Sometimes this can
309
* initialize.c (ext2fs_initialize): Set the s_mkfs_time field.
311
2002-10-20 Theodore Ts'o <tytso@valinux.com>
313
* ext2_fs.h (EXT3_DEFM_JMODE): Add new default mount options for
314
the journal data mode.
316
* closefs.c (ext2fs_flush, write_bgdesc), ext2_fs.h, ext2fs.h,
317
openfs.c (ext2fs_descriptor_block_loc, ext2fs_open), initialize.c
318
(ext2fs_initialize), swapfs.c (ext2fs_swap_super): Add support for
319
the meta_blockgroup filesystem format.
321
2002-10-15 <tytso@snap.thunk.org>
323
* ext2_fs.h: Add new field in superblock for default mount options.
325
2002-10-13 Theodore Ts'o <tytso@mit.edu>
327
* ext2fs.h: Add #include of header files necessary for ext2fs.h to
330
2002-10-02 Theodore Y. Ts'o <tytso@mit.edu>
332
* rw_bitmaps.c (ext2fs_write_block_bitmap,
333
ext2fs_read_block_bitmap): Don't set the CHANGED bit just
334
because the bitmap is getting written to disk. Make
335
ext2fs_swap_bitmap be a static function, since it's not
336
intended to be exported.
338
* swapfs.c (ext2fs_swap_super): Byte-swap the hash seed
340
2001-09-24 Theodore Tso <tytso@mit.edu>
342
* Release of E2fsprogs 1.29
344
2001-08-31 Theodore Tso <tytso@thunk.org>
346
* Release of E2fsprogs 1.28
348
2002-08-31 Theodore Ts'o <tytso@valinux.com>
350
* dblist.c (ext2fs_dblist_sort): New function which allows the
351
caller to pass in a special sort comparison function.
353
2002-08-20 Theodore Ts'o <tytso@mit.edu>
355
* valid_blk.c (ext2fs_inode_has_valid_blocks): Fix bug which
356
failed to accurately characterize non-standard slow
357
symlinks. (Which don't appear in practice on real-life
358
systems, fortunately.)
360
2002-08-17 Theodore Ts'o <tytso@mit.edu>
362
* Makefile.in: Remove inode_io.o from the standard object files,
363
and only build it if debugfs is enabled (it requires
364
fileio.o, which is only built if --disable-debugfs isn't
365
specified to configure).
367
* dirhash.c (ext2fs_dirhash): Change the MD4 hash in a backwards
368
incompatible way so that it is no longer
369
endian-dependent. Add the TEA hash. Allow the seed
370
parameter to be optional.
372
* ext2_fs.h: Remove the HALF_MD4_SEED and HALF_MD4_64 hashes.
373
These features are all now in the HALF_MD4 hash. Add
374
definition for EXT2_HASH_TEA.
376
* ext2fs.h (ext2fs_dirhash): Change function prototype so it takes
377
a pointer instead of an array.
379
2002-08-16 Theodore Ts'o <tytso@mit.edu>
381
* ext2_err.et.in (EXT2_ET_BAD_EA_BLOCK_NUM): New error code
383
* ext2fs.h (ext2fs_inode_data_blocks): New function which returns
384
the number of data blocks used by an inode exclusive of
387
* ext_attr.c (ext2fs_adjust_ea_refcount): New function which
388
adjusts the reference count in an extended attribute block.
390
* valid_blk.c (ext2fs_inode_has_valid_blocks): Add code to
391
correctly deal with extended attribute blocks in symbolic
394
2002-08-13 <tytso@snap.thunk.org>
396
* Makefile.in: Move dupfs.o and test_io.o from the
397
needed-by-debugfs object list to the needed-by-resizer
398
object list. Fixes compile problem if the system is built
399
with only --disable-debugfs.
401
2002-07-29 Theodore Ts'o <tytso@mit.edu>
403
* link.c (ext2fs_link): When adding a new link to a directory,
406
2002-07-23 Theodore Ts'o <tytso@mit.edu>
408
* dirhash.c (ext2fs_dirhash): Fix bug which caused MD4
409
calculations for names > 32 characters to be completely
410
bogus. Changed MD4 calculation to match what is currently
411
being used in the CVS gkernel tree.
413
2002-07-19 Theodore Ts'o <tytso@mit.edu>
415
* ext2_fs.h: Add s_hash_seed and s_def_hash_version to the
416
superblock definition.
418
* badblocks.c, freefs.c, ext2fs.h: Use the badblocks functions to
419
create a set of u32_list functions.
421
* dirhash.c (halfMD4Transform): Shift the hash by one bit,
422
since that's required by the directory indexing code.
424
2002-07-14 Theodore Ts'o <tytso@mit.edu>
426
* ext2fs.h, read_bb_file.c: Change private to priv_data, to avoid
427
using a C++ reserved word.
429
* unix_io.c (unix_open): Only attempt the setrlimit workaround if
430
the kernel version is 2.4.10 -- 2.4.17, since otherwise an
431
old version of glibc (built against 2.2 headers) will
432
interact badly with the workaround to actually cause more
433
problems. I hate it when the glibc folks think they're
434
being smarter than the kernel....
436
2002-06-28 Andreas Dilger <adilger@clusterfs.com>
438
* ext2_fs.h: Add superblock field for reserved group descriptors.
440
2002-06-28 Theodore Ts'o <tytso@mit.edu>
442
* bitops.h: Add #define's for ext2fs_{l,b}e{32,16}_to_cpu and
443
ext2fs_cpu_to_{l,b}e{32,16}
445
2002-06-27 Theodore Ts'o <tytso@mit.edu>
447
* ismounted.c (check_mntent): In AIX 4.3, MOUNTED isn't defined.
448
Add appropriate fallbacks in this case.
450
2002-06-26 Theodore Ts'o <tytso@mit.edu>
452
* dirhash.c (ext2fs_dirhash): Change function signature to support
453
a hash seed, and to return the minor hash (for 64-bit hash
454
support). Add support for the half MD4, half MD4 with
455
seed, and half MD4 with seed and 64 bits.
457
2002-06-15 Theodore Ts'o <tytso@mit.edu>
459
* ext2_fs.h (EXT2_DIRSYNC_FL): Add new file.
461
2002-06-09 Andreas Dilger <adilger@clusterfs.com>
463
* ext2_fs.h: Add macros for maximum block/inode counts:
464
EXT2_INODES_PER_BLOCK, EXT2_MAX_BLOCKS_PER_GROUP,
465
and EXT2_MAX_INODES_PER_GROUP.
467
* openfs.c (ext2fs_open): Check that the number of blocks in a group
468
is less than 2^16, otherwise we need an INCOMPAT flag (not
469
in existence yet, if ever) to open such a filesystem.
471
* initialize.c (ext2fs_initialize): Limit the number of blocks and
472
inodes in a group to less than 2^16.
474
2002-06-09 Andreas Dilger <adilger@clusterfs.com>
476
* ext2_fs.h: Further minor cleanups of the header. Consolidate
477
some checks for __KERNEL__ into one place.
479
2002-05-22 Andreas Dilger <adilger@clusterfs.com>
481
* ext2_fs.h: Remove macros accessing u.ext2_sb field and use
482
the EXT2_SB() macro instead. Remove kernel function
483
prototypes also. This matches the 2.5 kernel, and
484
is also cleaner for other reasons. Whitespace cleanup.
486
2002-05-21 Theodore Ts'o <tytso@mit.edu>
488
* ext2_ext_attr.h: Update to V2 version of the Bestbits format.
490
2002-05-16 Andreas Dilger <adilger@clusterfs.com>
492
* ext2_fs.h: Change limits to support filesystems with 8k blocks.
494
* initialize.c (ext2fs_initialize): Remove assumption that
495
blocksizes are always <= 4k.
497
2002-05-11 Theodore Ts'o <tytso@mit.edu>
499
* bmap.c (ext2fs_bmap): Fix bug which caused ext2fs_bmap to fail
500
silently if inode pointer is NULL (and ext2fs_bmap is
501
expected to read the inode itself).
503
2002-04-27 Theodore Ts'o <tytso@mit.edu>
505
* ismounted.c (check_mntent_file, is_swap_device): Verify that the
506
file we are checking is a block device file before looking
507
at st_rdev, since it's not valid for normal files.
508
(is_swap_device): Move so that it is outside the
509
HAVE_MNTENT_H, so that it is always built.
511
2002-03-11 Theodore Tso <tytso@mit.edu>
513
* dirblock.c (ext2fs_read_dir_block2, ext2fs_write_dir_block): New
514
functions which take an extra flags argument. The flag
515
EXT2_DIRBLOCK_V2_STRUCT will reverse when the name_len
516
field is byte swampped on big-endian machines, since in
517
the V2 structure, name_len is a char field which is
518
doesn't need to be byte swapped --- except if an
519
old-style kernel had byte-swapped the name_len field
520
as part of the V1 structure.
522
* ext2_err.et.in (EXT2_ET_DIRHASH_UNSUPP): New error code
524
* dirhash.c (ext2fs_dirhash): New function which calculates the
525
hash for a filename in an indexed directory.
1
527
2002-03-08 Theodore Tso <tytso@mit.edu>
3
529
* Release of E2fsprogs 1.27