1
2005-07-25 Theodore Ts'o <tytso@mit.edu>
3
* test_io.c (safe_getenv): Pass in zero to the unusued arguments
4
of prctl(PR_GET_DUMPABLE) to avoid false positives from
7
2005-07-19 Theodore Ts'o <tytso@mit.edu>
9
* mkjournal.c (ext2fs_add_journal_inode): Check for the case where
10
the filesystem is apparently not mounted, but the device
11
is still busy. This can happen when the luser doesn't
12
bother to mount /proc and has a bogus /etc/mtab, but still
13
wants to mount the filesystem before using tune2fs(?!?).
14
Add a safety check to save him from his own stupidity, at
15
least on 2.6 kernels. (Addresses Debian Bug #319002)
17
2005-07-09 Andreas Dilger <adilger@clusterfs.com>
19
* getsize.c (ext2fs_get_device_size): Use fstat/fstat64 to get
20
size of regular files. Fix file descriptor leaks in error
23
2006-06-30 Theodore Ts'o <tytso@mit.edu>
25
* Release of E2fsprogs 1.38
27
2005-06-30 Theodore Ts'o <tytso@mit.edu>
29
* bitops.h, bitops.c (ext2fs_set_bit, ext2fs_clear_bit,
30
ext2fs_test_bit): Change these function prototypes to be
31
unsigned int's. Negative bit numbers were never allowed
32
(and never made any sense), so this should be a safe
33
change. This is needed to allow safe use of block numbers
34
greater than or equal to 2**31.
36
2005-06-27 Stephen Tweedie <sct@redhat.com>
38
* ext2fs.h (ext2fs_resize_mem): Fix C99 strict type aliasing
39
problems. Addresses Red Hat Bugzilla #161183.
41
2005-06-19 Theodore Ts'o <tytso@mit.edu>
43
* getsectsize.c (BLKSSZGET): Clean up test for when to manually
44
define the BLKSSZGET ioctl.
46
2005-05-29 Theodore Ts'o <tytso@mit.edu>
48
* ismounted.c (ext2fs_check_mount_point): Add test to see if the
49
device appears to be busy; this only works on Linux 2.6+
50
systems, but provides some additional bullet-proofing in
53
2005-05-08 Theodore Ts'o <tytso@mit.edu>
55
* test_io.c (safe_getenv): Fix bug so it would fetch the right
58
2005-04-09 Theodore Ts'o <tytso@mit.edu>
60
* inode.c (ext2fs_write_new_inode),
61
ind_block.c (ext2fs_read_ind_block): Add missing return
62
value in error return case. (Otherwise we return garbage
63
instead of the error code.)
65
2005-03-31 Theodore Ts'o <tytso@mit.edu>
67
* test_io.c (test_open): If called by a setuid/setgid or an
68
otherwise privileged program, be paranoid and ignore the
69
TEST_IO_* environment variables.
71
2005-03-21 Theodore Ts'o <tytso@mit.edu>
73
* Release of E2fsprogs 1.37
75
2005-03-21 Theodore Ts'o <tytso@mit.edu>
77
* ext2_ext_attr.h (EXT2_XATTR_LEN, EXT2_XATTR_SIZE): Add new
78
convenience cpp macros.
80
2005-03-20 Theodore Ts'o <tytso@mit.edu>
82
* mkdir.c (ext2fs_mkdir): Call ext2fs_write_new_inode() instead of
85
* inode.c (ext2fs_write_new_inode): New function which should be
86
used when the caller is writing an inode for the first
87
time. It makes sure that the extra portion of the large
88
inode is initialized properly.
90
2005-03-18 Theodore Ts'o <tytso@mit.edu>
92
* Makefile.in: Fix clean target to remove tst_getsectsize.
94
* getsize.c (ext2fs_get_device_size): Check to see if the number
95
of blocks is greater than 2**32 when we are doing a binary
96
search to determine the device size. Thanks to Stephen
97
Tweedie for the patch.
99
2006-02-05 Theodore Ts'o <tytso@mit.edu>
101
* Release of E2fsprogs 1.36
103
2005-02-05 Theodore Ts'o <tytso@mit.edu>
105
* Makefile.in: Remove ext2fs.pc on a "make distclean"
107
2005-02-04 Theodore Ts'o <tytso@mit.edu>
109
* Makefile.in (clean): Remove tst_getsize when doing a make clean
111
2005-02-03 Theodore Ts'o <tytso@mit.edu>
113
* bitops.c: Make the generic functions more efficient.
115
* bitops.h: Drop SPARC assembly code. It's less efficient than GCC
116
3.4 compiled code and also triggers nasty compiler
117
warnings on sparc64. Thanks to Matthias Andree for his
118
analysis and suggestion.
120
2005-01-27 Theodore Ts'o <tytso@mit.edu>
122
* res_gdt.c (ext2fs_create_resize_inode): Create the resize inode
123
even if s_reserved_gdt_blocks is zero.
125
2005-01-26 Theodore Ts'o <tytso@mit.edu>
127
* ext2fs.pc.in: Add pkg-config files.
129
2005-01-25 Theodore Ts'o <tytso@mit.edu>
131
* ext2fs.h: Add definition of struct ext2_inode_large
133
* ext2_fs.h: Add new function prototypes
135
* ext_attr.c (ext2fs_read_ext_attr, ext2fs_write_ext_attr): The
136
ext2fs_swap_ext_attr() has been moved to swapfs.c, and
137
given a new argument, has_header.
139
* swapfs.c (ext2fs_swap_ext_attr): Moved from ext_attr.c, and
140
takes an argument which controls whether or not there is
141
an EA header which needs to be byteswaped.
142
(ext2fs_swap_inode_full): New function which byte-swaps
145
* inode.c (ext2fs_get_next_inode_full, ext2fs_read_inode_full,
146
ext2fs_write_inode_full): New functions, originally from
147
Alex Tomas, but which needed to be substantially fixed so
148
that the tests wouldn't cause major stack overwrite bugs
149
in byte-swapping is enabled.
151
2005-01-18 Theodore Ts'o <tytso@mit.edu>
153
* Makefile.in: Fix the kernel compile-time echo commands to be
154
consistent and portable
156
2005-01-07 Theodore Ts'o <tytso@mit.edu>
158
* unlink.c (ext2fs_unlink): If both the name and the inode number
159
are unspecified, then return an error, so that we don't do
160
something surprising such as unconditionally deleting the
161
first directory entry.
162
(unlink_proc): Delete directory entries by coalescing it
163
with the previous entry, to avoid directory fragmentation.
165
2005-01-06 Theodore Ts'o <tytso@mit.edu>
167
* version.c (ext2fs_parse_version_string): Change parsing
168
algorithm so that version strings such as 1.36-rc1 returns
169
a non-surprising result (i.e., 136, and not 1361).
171
2005-01-05 Theodore Ts'o <tytso@mit.edu>
173
* block.c (block_iterate_ind, block_iterate_dind,
174
block_iterate_tind): Move the code which byte swaps and
175
read/writes indirect blocks to ext2fs_{read,write}_ind_block.
176
This saves 400 bytes, and we need them for the
177
resize_inode handling.
179
* ind_block.c (ext2fs_read_ind_block, ext2fs_write_ind_block): New
182
* res_gdt.c (ext2fs_create_resize_inode): Use
183
ext2fs_{read,write}_ind_block so that byte swapping is
184
handled on big-endian systems.
186
* dupfs.c (ext2fs_dup_handle): Make sure the new filesystem handle
187
has its own copy of the orig_super data structure. (This
188
is a better way of fixing a double-free problem in
189
resize2fs which Fedora attempted to fix in
190
e2fsprogs-1.35-double_free.patch. Addresses Red Hat
193
2004-12-23 Theodore Ts'o <tytso@mit.edu>
195
* inode.c (ext2fs_flush_icache): When flushing the icache, clear
196
the last-read block information as well.
198
* ext2fs.h (BMAP_SET), bmap.c (ext2fs_bmap): Add support for new
199
flag, BMAP_SET, which allows the caller to set a
200
particular logical->physical block mapping.
202
* ext2_err.et.in (EXT2_ET_SET_BMAP_NO_IND): New error code
204
* initialize.c (calc_reserved_gdt_blocks): #ifdef out all
205
debugging printf statements.
207
* res_gdt.c (ext2fs_create_resize_inode): Return
208
EXT2_ET_RESIZE_INODE_CORRUPT if the resize inode is not
209
what we expect. #ifdef out all debugging printf
212
* ext2_err.et.in (EXT2_ET_RESIZE_INODE_CORRUPT): Add new error code.
214
2004-12-22 Theodore Ts'o <tytso@mit.edu>
216
* swapfs.c (ext2fs_swap_super): Byteswap the reserved_gdt_blocks
219
2004-12-15 Theodore Ts'o <tytso@mit.edu>
221
* sparse.c (ext2fs_list_backups, ext2fs_bg_has_super),
222
res_gdt.c (list_backups), closefs.c (ext2fs_bg_has_super),
223
ext2fs.h: Move ext2fs_list_backups() to res_gdt.c, and
224
ext2fs_bg_has_super() back to closefs.c. There's no
225
reason for the new file, since list_backups() isn't being
226
used by any other functions, and can be made static, and
227
all users of the ext2fs filesystem will have to call
228
ext2fs_close() anyway.
230
2004-12-15 Theodore Ts'o <tytso@mit.edu>
232
* Applied resize inode patch from Andreas Dilger
234
* res_gdt.c (ext2fs_create_resize_inode): New function that
235
creates the resize inode.
237
* initialize.c (ext2fs_initialize): Reserve space for the resize
240
* ext2fs.h (EXT2_LIB_FEATURE_COMPAT_SUPP): Add
241
EXT2_FEATURE_COMPAT_RESIZE_INODE to the list of supported
243
Add function prototypes for res_gdt.c and sparse.c.
245
* closefs.c (ext2fs_super_and_bgd_loc): Take the reserved blocks
246
into account when calculating the number of overhead
249
* closefs.c (ext2fs_bg_has_super, test_root), sparse.c: Move these
250
functions to the new file sparse.c
252
* alloc_sb.c (ext2fs_reserve_super_and_bgd): Reserve the blocks
253
saved in the resize inode as being in use.
255
* ext2_err.et.in (EXT2_ET_RES_GDT_BLOCKS): Add new error code.
257
* Makefile.in (srcdir): Add res_gdt.c and sparse.c to the ext2fs
260
2004-12-14 Theodore Ts'o <tytso@mit.edu>
262
* Makefile.in: Use Linux-kernel-style makefile output for "make
265
* Makefile.in (installdirs): Use $(MKINSTALLDIRS) macro
268
2004-11-30 Theodore Ts'o <tytso@mit.edu>
270
* unix_io.c (unix_set_option): Add support for the offset option.
272
* test_io.c (test_set_option): Add support for the set_option method.
274
* ext2_io.h: Add new io_channel method, set_option(), and change
275
io_channel_write_byte() from a macro to a library function.
277
* ext2fs.h, openfs.c(ext2fs_open2): New version of ext2fs_open
278
which adds a new parameter, io_options.
279
(ext2fs_open): If there is a question mark in the
280
filename, and no io_options are specified, assumed that
281
the text following the question mark are io_options.
283
* io_manager.c, Makefile.in: New source file which contains
284
high-level functions for the io_channel layer.
286
* freefs.c (ext2fs_free): Make sure we don't free the io_channel
289
* Makefile.in: Use Linux-kernel-style makefile output to make it
290
easier to see errors/warnings.
292
2004-11-29 Theodore Ts'o <tytso@mit.edu>
294
* ext2_fs.h (EXT2_EXTENTS_FL, EXT3_FEATURE_INCOMPAT_EXTENTS,
295
EXT2_MAX_BLOCK_LOG_SIZE): Add definition for extent
296
feature and inode flag. Change maximum allowable block
299
2004-10-08 Theodore Ts'o <tytso@mit.edu>
301
* getsize.c (ext2fs_get_device_size): Add support for Windows
302
9x/NT under Cygwin. Thanks to Sam Robb
303
(samrobb@users.sourceforge.net) for pointing this and the
304
suggested code patch.
306
2004-09-17 Theodore Ts'o <tytso@mit.edu>
308
* getsize.c: Clean up header #include's.
310
* llseek.c (ext2fs_llseek): On non-linux systems, use lseek64() if
311
it is present. (Addresses Debian bug #269044)
313
2004-07-28 Theodore Ts'o <tytso@mit.edu>
315
* rw_bitmaps.c (read_bitmaps), block.c (block_iterate_ind,
316
block_iterate_dind, block_iterate_tind), inode.c
317
(ext2fs_read_inode): If EXT2_FLAG_IMAGE_FILE is set, so
318
read the metadata from fs->image_io instead of fs->io.
320
* initialize.c (ext2fs_initialize), openfs.c (ext2fs_open):
321
Initialize fs->image_io to be the same as fs->io.
323
* ext2_err.et.in (EXT2_ET_NOT_IMAGE_FILE): Add new error code.
325
* openfs.c (ext2fs_get_data_io, ext2fs_set_data_io,
326
ext2fs_rewrite_to_io): New functions that allow
327
applications to manipulate fs->image_io and fs->io safely.
329
* freefs.c (ext2fs_free): If fs->image_io is different fs->io,
330
then call io_channel_close on fs->image_io.
332
* ext2fs.h: Add image_io element to the ext2_filsys data
333
structure. Add ext2fs_get_data_io() ext2fs_set_data_io(),
334
and ext2fs_rewrite_to_io() prototypes.
336
2004-05-26 Theodore Ts'o <tytso@mit.edu>
338
* closefs.c (ext2fs_flush): Make sure the master superblock is
339
written last, and only after other I/O has been flushed to
340
disk. Thanks to Junfeng Yang from the Stanford
341
Metacompilation group for pointing a potential ordering
342
constraint problem if we don't write things out in the
345
* test_io.c: Implement the ability to abort after n reads or
346
writes to a particular block. The block is specified by
347
TEST_IO_BLOCK environment variable, and the read/write
348
count by the TEST_IO_READ_ABORT and TEST_IO_WRITE_ABORT
349
environment variables. The block data is now only dumped
350
if the 0x10 bit is set in TEST_IO_FLAGS.
1
352
2004-04-03 Theodore Ts'o <tytso@mit.edu>
3
354
* ext2_types.h.in: Remove check for _UUID_TYPES since uuid_types.h