Commit Graph

44 Commits (4b5d342b47867dee13f6037e8a11291b12d31fdd)

Author SHA1 Message Date
Andreas Dilger de8f3a7621 Fix gcc -Wall warnings, especially on 64-bit systems
Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-05-25 11:18:11 -04:00
Theodore Ts'o 96c6a3acd3 Store the RAID stride value in the superblock and take advantage of it
Store the RAID stride value when a filesystem is created with a requested
RAID stride, and then use it automatically in resize2fs.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-05-18 22:06:53 -04:00
Theodore Ts'o a6d8302b48 Use the newer add/remove_error_table com_err interfaces
Change all of the e2fsprogs programs to use the newer add_error_table()
and remove_error_table() interfaces instead of the much older
initialize_*_error_table() function.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-12-26 03:38:07 -05:00
Theodore Ts'o 46c5490d13 Add RAID stride support to resize2fs
Resize2fs will now automatically determine the RAID stride parameter that
had been used to create the filesystem, and use that for newly created
block groups.   The RAID stride parameter may also be manually specified
on the command line using the new -S option to resize2fs.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-05-14 15:33:57 -04:00
Takashi Sato 8deb80a5d1 Fix format statements to make e2fsprogs programs 32-bit clean
Change the format string(%d, %ld) for a block number and inode number
to %u or %lu.

Signed-off-by: Takashi Sato <sho@tnes.nec.co.jp>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-03-18 21:43:46 -05:00
Theodore Ts'o 5d2ef12f6e Change resize2fs open modes for mounted and unmounted filesystems
If the filesystem is mounted, open it in read-only mode since the userspace 
program should not try to modify it directly.  If the filesystem is not mounted,
open it in exclusive mode to avoid potential problems (such as someone 
trying to mount the filesystem while it is being resized).

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-03-18 20:03:47 -05:00
Theodore Ts'o bf69235ad0 Add support for on-line resizing to resize2fs
If the filesystem is mounted, attempt to use the on-line resizing
ioctls to resize the filesystem.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-03-17 19:45:45 -05:00
Theodore Ts'o fe07357f59 Make resize2fs expand or truncate a file containing a filesystem.
(Addresses Debian Bug: #271607)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-12-29 15:39:40 -05:00
Theodore Ts'o f35fd3d5ee Fix some minor typo's and grammar's strings, and remove debugging strings
from needing to be translated.  Patch is from Benno Schulenberg.
2005-05-09 16:22:17 -04:00
Theodore Ts'o 55f4cbd96e Add new function in e2p for parsing the number of blocks on the command line
for mke2fs and resize2fs, and use this function so that filesystem size
inputs to e2fsprogs command line programs are parsed consistently.
2005-01-05 03:01:06 -05:00
Theodore Ts'o 2e8ca9a26b Add support for passing options to the io layer using the URL syntax. For
example, /tmp/test.img?offset=1024.  Multiple options can separated using
the & character, although at the moment the only option implemented is
the offset option in the unix_io layer.
2004-11-30 14:07:11 -05:00
Theodore Ts'o 544349270e Fix gcc -Wall nitpicks 2003-12-07 01:28:50 -05:00
Theodore Ts'o a7ccdff8e1 In mke2fs and resize2fs, round the default size of the filesystem to
be an even multiple of the pagesize to work around a potential
Linux kernel bug.

Use the testio manager in mke2fs if CONFIG_TESTIO_DEBUG is set.
2003-07-08 18:03:48 -04:00
Theodore Ts'o 792a088162 main.c (main): Add the ability to specify units to the size
parameter, and make the error and information messages
	display explicitly the blocksize used by the filesystem,
	to avoid confusion.  (Addresses Debian bug: #189814)
2003-05-13 23:32:59 -04:00
Theodore Ts'o ddc32a045b Add Czech translation.
Remove "NYC" translation.  Add Czech translation from Miloslav 
Trmac <mitr@volny.cz>

Random NLS and other display fixes from Miloslav.
2003-05-03 18:45:55 -04:00
Theodore Ts'o 76dd5e5c28 Add support for the meta_bg feature flag to the resize2fs program.
Fix bug in meta_bg support in mke2fs, e2fsck, and dumpe2fs; we were 
incorrectly reserving the legacy block groups desriptor blocks.
2002-10-30 23:07:21 -05:00
Theodore Ts'o 41cce580f3 main.c (main): If the filesystem has errors or is not valid,
then require an e2fsck -f run to be done on the filesystem
	more.
2002-05-28 23:19:14 -04:00
Theodore Ts'o 1608211222 main.c (main): If resize_fs returns an error, don't print the
message stating that the filesystem was resized after
	printing the error.
2002-04-09 12:46:19 -04:00
Theodore Ts'o 116db1b513 main.c (main): If we are resizing a plain file which is smaller
than the requested size, then we will attempt to
	transparently extend the filesize in a sparse fashion by
	writing a block at the end of the requested part of the
	filesystem.

main.c (main), resize2fs.c (resize_fs), resize2fs.h: Change the
	function prototype of resize_fs() so that it can modify
	the new_size parameter with the actual new size of the
	filesystem after the resize operation.  (This can
	sometimes be less than the requested new size if there
	isn't enough space to create the necessary block group
	metadata for that last bit of disk space.)  Resize2fs now
	prints the actual new size of the filesystem when it finishes.
2002-04-01 01:28:30 -05:00
Theodore Ts'o 48e08e034e ChangeLog, main.c:
main.c (main): Use ext2fs_sync_device() instead of calling the
  	BLKFLSBUF ioctl directly.
2001-01-11 16:11:11 +00:00
Theodore Ts'o dfcdc32f8d ChangeLog, libext2fs.texinfo:
libext2fs.texinfo: Change ino_t to ext2_ino_t
ChangeLog, extent.c, main.c, resize2fs.c:
  extent.c, main.c, resize2fs.c: Change ino_t to ext2_ino_t.
ChangeLog, mke2fs.c:
  mke2fs.c: Change ino_t to ext2_ino_t.
ChangeLog, test_icount.c, test_rel.c:
  test_icount.c, test_rel.c: Change ino_t to ext2_ino_t
2001-01-11 15:38:00 +00:00
Theodore Ts'o e5b38a5faf Many files:
ext2fs.h: Remove definition of ext2fs_sb.  Note: this may break source
  	(but not binary) compatibility of some users of the ext2 library.
  	They should just simply do a global search and replace of struct
  	ext2fs_sb with struct ext2_super_block, and use their own private copy
  	of ext2_fs.h if they aren't already.
  closefs.c, initialize.c, link.c, newdir.c, openfs.c, swapfs.c: Replace
  	use of ext2fs_sb with ext2_super_block.
ChangeLog, main.c:
  main.c (main): Replace use of struct ext2fs_sb with struct ext2_super_block.
2001-01-01 16:17:12 +00:00
Theodore Ts'o a13575f4d2 ChangeLog, extent.c, main.c, resize2fs.c, resize2fs.h:
main.c, resize2fs.c, resize2fs.h, extent.c: Add NLS support.
2000-06-12 22:06:16 +00:00
Theodore Ts'o 0cee8a5c42 Many files:
Update copyright of files in preparation for release of resize2fs.
  	Also removed the (obsolete) beta-test check that had been in the code,
  	as well as the old spec files used to package the separate
  	distribution of resize2fs.
  Makefile.in: No longer build resize2fs.static, since there's no real
  point in it any more.
  Modified Files:
  	ChangeLog Makefile.in extent.c main.c resize2fs.8.in
  	resize2fs.c resize2fs.h sim_progress.c test_extent.c
  Removed Files:
  	e2fsprogs-1.12.spec pq.gif resize2fs.spec version.h
2000-04-06 21:38:34 +00:00
Theodore Ts'o 373b8337c7 Many files:
badblocks.c, dumpe2fs.c, e2label.c, mke2fs.c, tune2fs.c, uuidgen.c:
  	For platforms that don't define optarg.h, manually define optarg and
  	optind.
ChangeLog, main.c:
  main.c: For platforms that don't define optarg.h, manually define
  	optarg and optind.
ChangeLog, unix.c:
  unix.c: For platforms that don't define optarg.h, manually define
  	optarg and optind.
2000-04-03 16:22:35 +00:00
Theodore Ts'o 0a617317ee ChangeLog, main.c, resize2fs.h:
resize2fs.h: Remove unneeded #include of linux/fs.h
  main.c: Fix gcc -Wall bug.  main() should return an int.
2000-02-02 19:14:36 +00:00
Theodore Ts'o 7e71e4c545 .del-resize2fs.spec~524d144b:
Fix up version number for 1.03
ChangeLog, main.c:
  Print a feedback message stating the new size of the filesystem when
  we're through.
1998-09-30 00:54:35 +00:00
Theodore Ts'o 612ff39bfd main.c:
Remove timebomb for production version.
resize2fs.8.in, .del-version.h~524d144b:
  Update for production version of resize2fs.
1998-09-29 04:00:55 +00:00
Theodore Ts'o 2e561e0249 main.c, .del-version.h~524d144b:
Add expire time checking to the resize2fs driver program.
  Change the version number to be version 1.02.
1998-04-08 06:18:37 +00:00
Theodore Ts'o 2a3013b807 ChangeLog, test_icount.c, test_icount.h:
test_icount.h (do_dump, do_validate): Add prototypes to fix -Wall
  	warnings.
  test_icount.c: Fix -Wall warnings.
ChangeLog, extent.c, main.c:
  extent.c (extent_cmp): Add const to cast to prevent -Wall warning.
  main.c (check_mount): Rename function argument to prevent -Wall
  	warning.
1998-03-30 01:08:41 +00:00
Theodore Ts'o 101c84f2e0 ChangeLog, main.c, resize2fs.c:
main.c (main): Check to make sure we can really resize this
  	filesystem.  If there are compatible feature sets that we don't
  	support, we need to abort.
  resize2fs.c: Change to use the new prototype required by
  	block_iterate2 (which uses blkcnt_t for the blockcount).
version.h, RELEASE-NOTES:
  Interim commit of changes to date.
1998-03-24 16:27:11 +00:00
Theodore Ts'o ba0af75663 ChangeLog, main.c, .del-resize2fs-1.12.spec~70080ffd, resize2fs.8.in:
Decouple version numbers from the base e2fsprogs release.
1998-03-09 17:41:53 +00:00
Theodore Ts'o 59fa3695d7 main.c, ChangeLog:
Add copyright notice.
1998-03-07 23:26:26 +00:00
Theodore Ts'o 0e14f78e66 ChangeLog, Makefile.in, main.c:
Makefile.in: Add rule to build a static version of resize2fs.  Update
  	dependency rules.
  main.c: #include ../version.h, instead of using a hard-coded version
  	string.
1998-02-27 06:04:23 +00:00
Theodore Ts'o 3b627e8d67 ChangeLog, main.c, resize2fs.c, resize2fs.h:
Change the progress function to return an errcode_t; this allows the
  progress function to return a error indicating a user-requested
  cancel.
1998-02-24 20:24:49 +00:00
Theodore Ts'o f4b2a6db3f ChangeLog, main.c, resize2fs.8.in, resize2fs.c:
main.c (check_mount, main): Resize2fs now checks the size of the
  	partition, and uses this as a default new_size of the partition if one
  	is not specified.  Resize2fs will not let you resize a mounted
  	partition.
  resize2fs.c: Change how the progress function for the INODE_SCAN pass
  	is performed, so that the maximum size is never zero.
  resize2fs.8.in: Updated man page.
1998-02-21 04:20:44 +00:00
Theodore Ts'o a8519a2dbe Many files:
Major reoganization of how resizing works.  Functions in
  ext2_block_move.c, and ext2_inode_move.c moved into resize2fs.c.
  Multiple passes in those two files also combined into a single inode
  scanning pass.  Made the inode table moving function better handling
  the case where it needs to abort mid-operation.  When moving blocks
  around, made the block allocation function preferentially avoid the
  old group descriptor blocks, to make resize2fs more robust.
1998-02-16 22:16:20 +00:00
Theodore Ts'o 63b44fbe30 Many files:
resize2fs.c, resize2fs.h, ext2_block_move.c, ext2_inode_move.c,
  	main.c: Reorganize how the progress functions are called.
1998-02-13 22:58:18 +00:00
Theodore Ts'o 80c0fc3492 Many files:
resize2fs.c, ext2_block_move.c ext2_inode_move.c: Only include printf
  	statements if RESIZE2FS_DEBUG is defined.
  main.c: Don't read in the bitmaps since resize2fs.c does that.
e2label.c, mke2fs.c:
  Adjust header files.
1997-11-03 19:46:49 +00:00
Theodore Ts'o c762c8e632 Many files:
Checkin of work to date.  (Pretty much completely working now.)
1997-06-17 03:52:12 +00:00
Theodore Ts'o 05e112a11b ChangeLog, Makefile.in, version.h:
Allow people to set the version.h to something like 1.10-PLUS.
.del-inodemap.c~24510e64, main.c, resize2fs.c, resize2fs.h:
  More interim work.  All is functioning except progress meter.
1997-06-14 07:28:44 +00:00
Theodore Ts'o 052db4b76e Makefile.in, .del-inodemap.c~24510e64, main.c, resize2fs.c, resize2fs.h:
New snapshot (almost fully functional)
1997-06-12 07:14:32 +00:00
Theodore Ts'o 1e1da29fbd Many files:
bmove.c (ext2fs_move_blocks): New function which takes a bitmap of
  	blocks which need to be moved, and moves those blocks to another
  	location in the filesystem.
  rs_bitmap.c (ext2fs_resize_generic_bitmap): When expanding a bitmap,
  	make sure all of the new parts of the bitmap are zero.
  bitmaps.c (ext2fs_copy_bitmap): Fix bug; the destination bitmap wasn't
  	being returned to the caller.
  alloc_tables.c (ext2fs_allocate_group_table): Add new function
  	ext2fs_allocate_group_table() which sets the group tables for a
  	particular block group.  The relevant code was factored out of
  	ext2fs_allocate_tables().
  dblist.c (make_dblist): Adjust the initial size of the directory block
  	list to be a bit more realize (ten plus twice the number of
  	directories in the filesystem).
  Check in interim work.
1997-06-09 14:51:29 +00:00
Theodore Ts'o 24b2c7a7a1 ChangeLog, Makefile.in, configure.in:
configure.in (rmakefile): Added (optional) private directory for resize2fs.
  Makefile.in: Change recursive descent rules to check to see if a
  	directory exists before trying to make it.
Many files:
  Initial checkin of work done to date.
1997-06-07 20:42:58 +00:00