1 2006-12-22 Theodore Tso <tytso@mit.edu>
3 * main.c (main): Use the new {add,remove}_error_table comerr
4 interfaces instead of initialize_*_error_table.
6 2006-10-01 Theodore Tso <tytso@mit.edu>
8 * online.c (online_resize_fs): Check to make sure the filesystem
9 has a resize inode if it is needed to grow the filesystem.
10 Print the correct error message if the kernel returns an
11 ENOTTY error to the group extend ioctl.
12 (Addresses Debian bug #380548)
14 2006-08-30 Eric Sandeen <esandeen@redhat.com>
16 * online.c (online_resize_fs): use div_ceil for r_frac calculation.
17 * resize2fs.c (adjust_fs_info): avoid overflow in blk calculation
18 when figuring new reserved blocks count.
20 2006-08-30 Eric Sandeen <esandeen@redhat.com>
22 * resize2fs.c (adjust_fs_info): Disallow > 2^32 indoes at resize time.
24 2006-08-30 Eric Sandeen <esandeen@redhat.com>
26 * online.c (online_resize_fs): Fix printf formats.
28 2006-08-30 Eric Sandeen <esandeen@redhat.com>
30 * resize2fs.c (mark_table_blocks): Remove unused variable.
32 2006-08-30 Theodore Tso <tytso@mit.edu>
34 * resize2fs.c (adjust_fs_info), online.c (online_resize_fs): Use
35 e2p_percent to properly calculate the number of reserved
36 blocks without worrying about overflow.
38 * resize2fs.c (ext2fs_calculate_summary_stats): Fix potential
39 overflow problems when the number of blocks is close to
42 * resize2fs.c (adjust_fs_info): Use ext2fs_div_ceil() instead of a
43 using an open-coded expression which was subject to
46 2006-05-22 Theodore Tso <tytso@mit.edu>
48 * resize2fs.8.in: Fixed spelling mistake (Addresses Debian Bug:
51 2006-05-21 Theodore Tso <tytso@mit.edu>
53 * resize2fs.8.in: Clarify man page to indicate that supports ext2
54 and ext3 filesystems, and add reference to LVM.
55 (Addresses Debian Bug: #368179)
57 2006-05-14 Theodore Tso <tytso@mit.edu>
59 * main.c (main, determine_fs_stride), resize2fs.8.in: Add a new
60 option (-S) to resize2fs which allows the user to specify
61 the RAID stride parameter to be used on new block groups.
62 In addition, add code so that resize2fs can automatically
63 determine the RAID stride parameter that had been
64 previously used on the filesystem.
66 2006-03-18 Theodore Ts'o <tytso@mit.edu>
68 * main.c, resize2fs.c: Change printf statements to use %u instead
69 of %d when printing block numbers.
71 * main.c (main): If the filesystem is mounted, open it in
72 read-only mode since the userspace program should not try
73 to modify it directly. If the filesystem is not mounted,
74 open it in exclusive mode to avoid potential problems
75 (such as someone trying to mount the filesystem while it
78 2006-03-17 Theodore Ts'o <tytso@mit.edu>
80 * resize2fs.8.in: Update manpage to document that that resize2fs
81 can expand a mounted filesystem.
83 * online.c (online_resize_fs): New file which contains the on-line
86 * main.c (main): If the filesystem to be resized is already
87 mounted, determine the mountpoint, and call online_resize_fs().
89 * resize2fs.c (adjust_fs_info, adjust_superblock): Factor out code
90 which only adjusts the in-memory data structures from the
91 code which writes to the disk, since the former can be
92 used by the on-line resizing code.
94 * resize2fs.h: Add function prototypes for online_resize_fs() and
97 * Makefile.in (RESIZE_OBJS): Add online.o to list of files to be built.
99 2005-12-29 Theodore Ts'o <tytso@mit.edu>
101 * resize2fs.c (mark_table_blocks): Remove unused variables to
102 clean up gcc -Wall complaints.
104 * main.c (main): If the filesystem being resized is a regular
105 file, truncate or expand the file to match the new
106 filesystem size. (Addresses Debian Bug: #271607)
108 2005-08-08 Theodore Ts'o <tytso@mit.edu>
110 * resize2fs.c (move_itables): Fix fencepost error caught by valgrind.
111 (adjust_superblock): Clear the newly allocated descriptor
112 blocks when we allocate them to avoid false positives from
113 valgrind (and so that the unusued descriptors at the tail
114 end of the newly allocated descriptor blocks are zero'ed
115 out, include of random garbage).
117 2006-06-30 Theodore Ts'o <tytso@mit.edu>
119 * Release of E2fsprogs 1.38
121 2005-05-09 Theodore Ts'o <tytso@mit.edu>
123 * resize2fs.c (fix_resize_inode): Don't bother to translate
126 * main.c: Fix case on usage message, and remove _() from messages
127 from a version string that doesn't need translation.
129 2005-03-21 Theodore Ts'o <tytso@mit.edu>
131 * Release of E2fsprogs 1.37
133 2006-02-05 Theodore Ts'o <tytso@mit.edu>
135 * Release of E2fsprogs 1.36
137 2005-01-26 Theodore Ts'o <tytso@mit.edu>
139 * resize2fs.c: Fix bug where we don't release the blocks belonging
140 to the old inode table blocks when we move the inode
141 table. (Addresses Debian Bug: #290894)
143 2005-01-05 Theodore Ts'o <tytso@mit.edu>
145 * main.c (main): Use parse_num_blocks() from the e2p library to
146 parse the number of blocks from the command line.
148 2004-12-16 Theodore Ts'o <tytso@mit.edu>
150 * resize2fs.c (resize_fs): Call ext2fs_create_resize_inode to
151 fill in the necessary fields in the resize inode.
152 (adjust_superblock): Reserve blocks that are needed for
153 on-line resizing if that feature is enabled.
155 2004-12-14 Theodore Ts'o <tytso@mit.edu>
157 * Makefile.in: Move strip command to install-strip target.
158 Use Linux-kernel-style makefile output for "make install"
160 * Makefile.in (installdirs): Use $(MKINSTALLDIRS) macro
162 2004-11-30 Theodore Ts'o <tytso@mit.edu>
164 * main.c: If there is a question mark in the device name,
165 separate out the options to the IO layer, and pass it on
168 * Makefile.in: Use Linux-kernel-style makefile output to make it
169 easier to see errors/warnings.
171 2004-09-17 Theodore Ts'o <tytso@mit.edu>
173 * resize2fs.c (check_and_change_inodes): Fix debugging printf to
174 mask off the high 256 bits of dirent->name_len (which is
175 where the file type information is stored). (Addresses
178 2004-04-03 Theodore Ts'o <tytso@mit.edu>
180 * Makefile.in: Update the modtime even if subst doesn't need to
181 update the resize2fs man page, to avoid always re-running
182 subst, especially since there are no dependencies on the
185 2004-02-28 Theodore Ts'o <tytso@mit.edu>
187 * Release of E2fsprogs 1.35
189 2003-12-07 Theodore Ts'o <tytso@mit.edu>
191 * main.c, resize2fs.c: Fix gcc -Wall nitpicks.
193 2003-08-24 Theodore Ts'o <tytso@mit.edu>
195 * resize2fs.8.in: Adjust description line so that apropos
196 "ext2" or "ext3" will find the man page. (Addresses
199 2003-08-01 Philipp Thomas <pthomas@suse.de>
201 * extent.c, resize2fs.c, sim_progress.c: ext2fs_getmem(),
202 ext2fs_free_mem(), and ext2fs_resize_mem() all now take a
203 'void *' instead of a 'void **' in order to avoid pointer
204 aliasing problems with GCC 3.x.
206 2003-07-25 Theodore Ts'o <tytso@mit.edu>
208 * Release of E2fsprogs 1.34
210 2003-07-08 Theodore Ts'o <tytso@mit.edu>
212 * main.c (main): Round the default size of the filesystem to be an
213 even multiple of the pagesize to work around a potential
216 2003-06-24 <tytso@snap.thunk.org>
218 * resize2fs.c (block_mover): Don't move blocks associated with the
219 bad blocks inode. Instead, just remove them from the
220 badblocks list. (Note this means that shrinking and then
221 enlarging a filesystem is not a reversible operation;
222 information about bad blocks in the part of the filesystem
223 which is to be chopped off is discarded.)
225 2003-06-08 Theodore Ts'o <tytso@mit.edu>
227 * resize2fs.8.in: Make explicit that you need to run resize2fs
228 after using fdisk to adjust the partition size when
229 expanding the filesystem. (Addresses Debian Bug #195616)
231 2003-05-13 root <tytso@mit.edu>
233 * main.c (main): Add the ability to specify units to the size
234 parameter, and make the error and information messages
235 display explicitly the blocksize used by the filesystem,
236 to avoid confusion. (Addresses Debian bug: #189814)
238 2003-05-03 Theodore Ts'o <tytso@mit.edu>
240 * main.c (main): Add calls to setup functions for NLS support.
242 * Makefile.in: Add $(LIBINTL) to the link line so we can support
243 using the internal gettext library.
245 * resize2fs.h: Add #ifndef protection around LOCALEDIR definition.
247 2003-04-21 Theodore Ts'o <tytso@mit.edu>
249 * Release of E2fsprogs 1.33
251 2003-04-21 Theodore Ts'o <tytso@mit.edu>
253 * Makefile.in: Use DYLD_LIBRAY_PATH so that "make check" works on
254 Darwin systems when building with shared libraries.
256 2003-03-06 <tytso@mit.edu>
258 * resize2fs.c (blocks_to_move): Bug fix; we were incorrectly
259 moving the block and inode bitmaps for sparse superblock
260 filesystems. (Address Debian bug #174766)
262 2002-11-09 Theodore Ts'o <tytso@mit.edu>
264 * Release of E2fsprogs 1.32
266 2002-11-08 Theodore Ts'o <tytso@mit.edu>
268 * Release of E2fsprogs 1.31
270 2002-10-31 Theodore Ts'o <tytso@mit.edu>
272 * Release of E2fsprogs 1.30
274 2002-10-31 Theodore Ts'o <tytso@mit.edu>
276 * resize2fs.c (inode_scan_and_fix, check_and_change_inodes): When
277 moving an inode, set the ctime field so that people using
278 dump/restore will backup the changed inode. Also update
279 the mtime and ctime of directories which get updated when
280 we need to move an inode.
282 2002-10-30 Theodore Ts'o <tytso@mit.edu>
284 * Makefile.in (install): Search all compression extensions when
285 deleting old man pages.
287 * resize2fs.c (adjust_superblock, mark_table_blocks,
288 blocks_to_move): Add support for resizing filesystems that
289 use the meta block group layout.
291 * main.c (main): Fixed bug that erroneously (and
292 needlessly) checked the incompat feature flag field
293 against the supported ro_compat feature set.
295 2002-10-03 Theodore Ts'o <tytso@mit.edu>
297 * resize2fs.8.in: Fix typo in man page.
299 2001-09-24 Theodore Tso <tytso@mit.edu>
301 * Release of E2fsprogs 1.29
303 2001-08-31 Theodore Tso <tytso@thunk.org>
305 * Release of E2fsprogs 1.28
307 2002-08-16 Theodore Ts'o <tytso@mit.edu>
309 * resize2fs.c (inode_scan_and_fix): Add code to move the extended
312 2002-07-26 Theodore Ts'o <tytso@mit.edu>
314 * resize2fs.c (block_mover): If there are no blocks to move,
315 release the bmap table. This significantly speeds up
316 resize2fs when shrinking or expanding a filesystem by a
317 very small number of blocks (which EVMS will do).
319 2002-05-28 <tytso@mit.edu>
321 * main.c (main): If the filesystem has errors or is not valid,
322 then require an e2fsck -f run be done on the filesystem
325 2002-04-09 <tytso@snap.thunk.org>
327 * main.c (main): If resize_fs returns an error, don't print the
328 message stating that the filesystem was resized.
330 2002-03-31 <tytso@mit.edu>
332 * main.c (main): If we are resizing a plain file which is smaller
333 than the requested size, then we will attempt to
334 transparently extend the filesize in a sparse fashion by
335 writing a block at the end of the requested part of the
338 * main.c (main), resize2fs.c (resize_fs), resize2fs.h: Change the
339 function prototype of resize_fs() so that it can modify
340 the new_size parameter with the actual new size of the
341 filesystem after the resize operation. (This can
342 sometimes be less than the requested new size if there
343 isn't enough space to create the necessary block group
344 metadata for that last bit of disk space.) Resize2fs now
345 prints the actual new size of the filesystem when it finishes.
347 2002-03-08 Theodore Tso <tytso@mit.edu>
349 * Release of E2fsprogs 1.27
351 2002-03-07 Theodore Tso <tytso@mit.edu>
353 * resize2fs.c (process_block, inode_scan_and_fix,
354 check_and_change_inodes): Fix gcc -Wall complaints in
357 * Makefile.in (check): Use LD_LIBRARY_PATH to run test programs.
358 (From Philipp Thomas <pthomas@suse.de>)
360 2002-02-24 Theodore Tso <tytso@mit.edu>
362 * Makefile.in (install): Remove any compressed man pages before
363 installing the man pages.
365 2002-02-03 Theodore Tso <tytso@thunk.org>
367 * Release of E2fsprogs 1.26
369 2001-09-20 Theodore Tso <tytso@thunk.org>
371 * Release of E2fsprogs 1.25
373 2001-09-02 Theodore Tso <tytso@thunk.org>
375 * Release of E2fsprogs 1.24a
377 2001-08-30 Theodore Tso <tytso@thunk.org>
379 * Release of E2fsprogs 1.24
381 2001-08-15 Theodore Tso <tytso@valinux.com>
383 * Release of E2fsprogs 1.23
385 2001-06-23 Theodore Tso <tytso@valinux.com>
387 * Release of E2fsprogs 1.22
389 2001-06-15 Theodore Tso <tytso@valinux.com>
391 * Release of E2fsprogs 1.21
393 2001-06-01 Theodore Tso <tytso@valinux.com>
395 * Makefile.in: Move include/asm/types.h.in to
396 lib/ext2fs/ext2_types.h.in.
398 2001-05-25 Theodore Tso <tytso@valinux.com>
400 * Release of E2fsprogs 1.20
402 2001-05-14 Theodore Tso <tytso@valinux.com>
404 * resize2fs.h: Change location of ext2_fs.h to be ext2fs/ext2_fs.h
406 2001-01-11 <tytso@snap.thunk.org>
408 * main.c (main): Use ext2fs_sync_device() instead of calling the
409 BLKFLSBUF ioctl directly.
411 * extent.c, main.c, resize2fs.c: Change ino_t to ext2_ino_t.
413 2001-01-01 <tytso@snap.thunk.org>
415 * main.c (main): Replace use of struct ext2fs_sb with struct
418 2000-12-08 <tytso@snap.thunk.org>
420 * Makefile.in: Fix so that top-level "make check" works correctly.
422 2000-07-13 <tytso@valinux.com>
424 * Release of E2fsprogs 1.19
426 2000-07-05 <tytso@snap.thunk.org>
428 * Makefile.in (install): Install resize2fs in /sbin, not /usr/sbin.
430 2000-06-12 Theodore Ts'o <tytso@valinux.com>
432 * main.c, resize2fs.c, resize2fs.h, extent.c: Add NLS support.
434 2000-04-06 Theodore Ts'o <tytso@valinux.com>
436 * Update copyright of files in preparation for release of
437 resize2fs. Also removed the (obsolete) beta-test check
438 that had been in the code, as well as the old spec files
439 used to package the separate distribution of resize2fs.
441 * Makefile.in: No longer build resize2fs.static, since there's no
442 real point in it any more.
444 2000-04-03 Theodore Ts'o <tytso@valinux.com>
446 * main.c: For platforms that don't define optarg.h, manually
447 define optarg and optind.
449 2000-02-02 Theodore Ts'o <tytso@valinux.com>
451 * resize2fs.h: Remove unneeded #include of linux/fs.h
453 * main.c: Fix gcc -Wall bug. main() should return an int.
455 1999-11-19 <tytso@valinux.com>
457 * Makefile.in (distclean): Remove TAGS and Makefile.in.old from
458 the source directory.
460 1999-11-10 <tytso@valinux.com>
462 * Release of E2fsprogs 1.18
464 1999-10-26 <tytso@valinux.com>
466 * Release of E2fsprogs 1.17
468 1999-10-22 <tytso@valinux.com>
470 * Release of E2fsprogs 1.16
472 1999-07-18 Theodore Ts'o <tytso@rsts-11.mit.edu>
474 * Release of E2fsprogs 1.15
476 1999-01-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
478 * Release of E2fsprogs 1.14
480 1998-12-15 Theodore Ts'o <tytso@rsts-11.mit.edu>
482 * Release of E2fsprogs 1.13
484 1998-12-03 Theodore Ts'o <tytso@rsts-11.mit.edu>
486 * Makefile.in: Updated dependencies.
488 1998-09-29 Theodore Ts'o <tytso@rsts-11.mit.edu>
490 * main.c (main): Print a feedback message stating the new size of
491 the filesystem when we're through.
493 1998-09-02 Theodore Ts'o <tytso@rsts-11.mit.edu>
495 * resize2fs.c: Rename max to max_groups and max_dirs to avoid
496 possible conflicts with a cpp macro named "max".
498 1998-07-26 Theodore Ts'o <tytso@rsts-11.mit.edu>
500 * resize2fs.h: Protect include of unistd.h with HAVE_UNISTD_H.
502 1998-07-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
504 * Release of E2fsprogs 1.12
506 1998-06-10 Theodore Ts'o <tytso@rsts-11.mit.edu>
508 * resize2fs.c (process_block): Change blkcnt_t to be e2_blkcnt_t
509 to avoid collision with LFS API.
511 1998-04-28 Theodore Ts'o <tytso@rsts-11.mit.edu>
513 * extent.c (ext2fs_create_extent_table): Use ext2fs_free_mem
515 (extent_cmp): Use EXT2_QSORT_TYPE to define the appropriate
516 return type for comparison functions for qsort.
518 1998-04-26 Theodore Ts'o <tytso@rsts-11.mit.edu>
520 * resize2fs.c (adjust_superblock):
521 * extent.c (ext2fs_add_extent_entry): Update functions to
522 pass the old size of the memory to be resized to
525 1998-03-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
527 * Makefile.in: Change to use new installation directory variables
528 convention. Fix uninstall rules to take $(DESTDIR) into
529 account. Remove cat8dir from the installdirs target,
530 since modern man package don't necessarily put the cat
531 directory in /usr/man/cat?.
533 1998-03-29 Theodore Ts'o <tytso@rsts-11.mit.edu>
535 * extent.c (extent_cmp): Add const to cast to prevent -Wall warning.
537 * main.c (check_mount): Rename function argument to prevent -Wall
540 1998-03-24 Theodore Ts'o <tytso@rsts-11.mit.edu>
542 * main.c (main): Check to make sure we can really resize this
543 filesystem. If there are compatible feature sets that we
544 don't support, we need to abort.
546 * resize2fs.c: Change to use the new prototype required by
547 block_iterate2 (which uses blkcnt_t for the blockcount).
549 1998-03-20 Theodore Ts'o <tytso@rsts-11.mit.edu>
551 * resize2fs.c (inode_scan_and_fix): If we are expanding the
552 filesystem, temporarily set
553 rfs->old_fs->super->s_blocks_count to ultimate size of the
554 filesystem, to avoid catching an error on the block
557 Mon Mar 9 12:02:47 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
559 * main.c: Use a local version.h file.
561 Sat Mar 7 18:18:04 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
563 * Makefile.in: Change the name of the complete source file that we
564 built (that includes resize2fs) to be
565 e2fsprogs-ALL-<version>.tar.gz. Don't link with libuuid,
566 since it's not needed.
568 * main.c (main): Add copyright notice.
570 * resize2fs.c (blocks_to_move): Create the meta_bmap using the old
571 filesystem, not the new filesystem.
572 (get_new_block): Don't try checking the old block bitmap
573 if the block we're testing is beyond the boundaries of the
576 Fri Feb 27 01:02:50 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
578 * Makefile.in: Add rule to build a static version of resize2fs.
579 Update dependency rules.
581 * main.c: #include ../version.h, instead of using a hard-coded
584 Tue Feb 24 15:22:52 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
586 * Change the progress function to return an errcode_t; this allows
587 the progress function to return a error indicating a
588 user-requested cancel.
590 1998-02-20 Theodore Y. Ts'o <tytso@edt.mit.edu>
592 * main.c (check_mount, main): Resize2fs now checks the size of the
593 partition, and uses this as a default new_size of the
594 partition if one is not specified. Resize2fs will not let
595 you resize a mounted partition.
597 * resize2fs.c: Change how the progress function for the INODE_SCAN
598 pass is performed, so that the maximum size is never zero.
600 * resize2fs.8.in: Updated man page.
602 Mon Feb 16 17:13:01 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
604 * resize2fs.c, resize2fs.h, main.c, ext2_block_move.c,
605 ext2_inode_move.c: Major reoganization of how resizing
606 works. Functions in ext2_block_move.c, and
607 ext2_inode_move.c moved into resize2fs.c. Multiple passes
608 in those two files also combined into a single inode
609 scanning pass. Made the inode table moving function
610 better handling the case where it needs to abort
611 mid-operation. When moving blocks around, made the block
612 allocation function preferentially avoid the old group
613 descriptor blocks, to make resize2fs more robust.
615 Fri Feb 13 17:15:43 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
617 * resize2fs.c, resize2fs.h, ext2_block_move.c, ext2_inode_move.c,
618 main.c: Reorganize how the progress functions are called.
620 Mon Jan 19 09:12:28 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
622 * resize2fs.h: If EXT2_FLAT_INCLUDES is defined, then assume all
623 of the ext2-specific header files are in a flat directory.
625 * ext2_block_move.c, ext2_inode_move.c, extent.c, resize2fs.c,
626 resize2fs.h: Rename variables named "new" to "new_block",
627 "new_inode", or "new_loc" to avoid C++ reserved word
630 * ext2_block_move.c, ext2_inode_move.c, extent.c, resize2fs.c,
631 sim_progress.c: Use ext2fs_get_memory(),
632 ext2fs_free_memory(), et. al., instead of malloc() and
635 * ext2_block_move.c, ext2_inode_move.c, extent.c: Explicitly cast
636 all assignments from void * to be compatible with C++.
638 Mon Dec 29 19:09:45 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
640 * banalysis.c, banalysis.h, ext2_inode_move.c, ext2_block_move.c:
641 Change private to priv_data to avoid C++ namespace clash.
643 Mon Nov 3 14:45:06 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
645 * resize2fs.h: Remove STDC magic, since everyone is STDC these days.
647 * resize2fs.c, ext2_block_move.c ext2_inode_move.c: Only include
648 printf statements if RESIZE2FS_DEBUG is defined.
650 * main.c: Don't read in the bitmaps since resize2fs.c does that.
652 Sun Oct 19 20:40:42 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
654 * resize2fs.h: Add #ifdef's for HAVE_SYS_TYPES_H and HAVE_SYS_TIME_H.
656 Wed Sep 3 17:31:49 1997 Theodore Y. Ts'o <tytso@edt.mit.edu>
658 * resize2fs.h: Add #include for errno.h
660 Tue Jun 17 01:33:20 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
662 * Release of E2fsprogs 1.11