Commit Graph

143 Commits (d90be5b1437b839e5f1afcee7073798d833e4534)

Author SHA1 Message Date
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 642935c082 Fix misc. gcc -Wall complaints in the misc and e2fsck directories
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-14 23:38:17 -05:00
Theodore Ts'o 8ade479230 Fix e2fsck and mke2fs -c to be pass the last _block change to badblocks
Badblocks now interprets last_block argument as the last block to check,
instead of the number of blocks to check, to be consistent with the
badblocks man page.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-08 00:41:50 -05:00
Theodore Ts'o b290d2dc35 Fix mke2fs error checking when creating revision 0 filesystems
Fix revision 0 error checking so that it doesn't give spurious error
when the user gives a command-line option of "-O none".Add error
checking so that "-r 0 -j", "-r 0 -s 1", and "-r 0 -E resize=XXX" will
print an explanatory error message and abort.

Addresses Debian bug: #392107

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-10-18 00:31:11 -04:00
Eric Sandeen d1b4b85c3a Fix more rounding overflows for filesystems that have 2**32-1 blocks
Signed-off-by: Eric Sandeen <esandeen@redhat.com>
2006-09-12 14:56:18 -04:00
Eric Sandeen f335864338 Add checks to make sure inode counts don't overflow a 32-bit value
Signed-off-by: Eric Sandeen <esandeen@redhat.com>
2006-09-12 14:56:17 -04:00
Eric Sandeen d0ff90d520 Fix signed vs unsigned printf format strings for block and inode numbers
There were still some %d's lurking when we print blocks & inodes; also
many of the counters in the e2fsck_struct were signed, and probably
need to be unsigned to avoid overflows.

Signed-off-by: Eric Sandeen <esandeen@redhat.com>
2006-09-12 14:56:15 -04:00
Theodore Ts'o a8862d9e90 Fix potential 2**32-1 overflow by using e2p_percent()
Add a new functiom, e2p_percent(), which correct calculates the percentage
of a number based on a given percentage, without worrying about overflow
issues.  This is used where we calculate the number of reserved blocks using
a percentage of the total number of blocks in a filesystem.

Based on patches from Eric Sandeen, but generalized to use this new function.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Eric Sandeen <esandeen@redhat.com>
2006-08-30 03:08:13 -04:00
Theodore Ts'o 69022e029f Fix potential 2**32-1 overflow problems by ext2fs_div_ceil()
Add a new function, ext2fs_div_ceil(), which correctly calculates a division
of two unsigned integer where the result is always rounded up the next
largest integer.   This is used everywhere where we might have
previously caused an overflow when the number of blocks
or inodes is too close to 2**32-1.

Based on patches from Eric Sandeen, but generalized to use this new function

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Eric Sandeen <esandeen@redhat.com>
2006-08-30 01:57:00 -04:00
Andreas Dilger c16e610c51 Require mke2fs -F -F for really dangerous operations
Disambiguate the use of "-F" (force) flag for mke2fs to avoid dangerous
situations.  The use of -F is needed for regular backing files and
for filesystems on whole block devices.  It should NOT be confused
with mke2fs on an apparently-mounted or in-use filesystem.

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-08-05 19:05:53 -04:00
Andreas Dilger 067911ae73 Allow default inode_size to be specified in mke2fs.conf and document mke2fs -I
This patch allows "inode_size" to be specified in the mke2fs.conf file,
and always compiles in the "-I" option.  In addition, it disallows
specifying the inode size on rev 0 filesystems, though I don't think
this was much of a danger anyways.

Clean up dead lines in ext2fs.h.

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-07-15 22:08:20 -04:00
Matthias Andree abcfdfda7a Read mke2fs.conf and e2fsck.conf from root_sysconfdir rather than harcoded /etc. 2006-06-10 16:08:18 +02:00
Theodore Ts'o f63978aff7 Fix read/write badblocks testing in mke2fs and e2fsck
The exlcusive device safety check that was added inadvertently broke
e2fsck -cc and mke2fs -cc since e2fsck and mke2fs hold the device 
in exclusive access when badblocks is run.  So we add a private option
to badblocks, -X, which is passed by e2fsck and mke2fs to badblocks
to indicate that it is OK to skip the EXT2_MF_BUSY checks.

Addresses Debian Bug: #366017

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-05-13 09:25:47 -04:00
Theodore Ts'o f5fa20078b Add support for EXT2_FEATURE_COMPAT_LAZY_BG
This feature is initially intended for testing purposes; it allows an
ext2/ext3 developer to create very large filesystems using sparse files
where most of the block groups are not initialized and so do not require
much disk space.  Eventually it could be used as a way of speeding up
mke2fs and e2fsck for large filesystem, but that would be best done by 
adding an RO_COMPAT extension to the filesystem to allow the inode table
to be lazily initialized on a per-block basis, instead of being entirely initialized
or entirely unused on a per-blockgroup basis.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-05-08 20:17:26 -04:00
Theodore Ts'o 9dc6ad1ecb Change mke2fs to use /etc/mke2fs.conf as a configuration file
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-03-23 22:00:01 -05: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 616059bf23 Change mke2fs to create filesystems with the device opened in exclusive mode.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-03-18 20:02:05 -05:00
Theodore Ts'o 9b9a780f5a Fix various gcc -Wall complaints.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-12-10 21:50:30 -05:00
Andreas Dilger 2524785d5d Miscellaneous mke2fs cleanup
Reorder some mke2fs arg parsing to be more alphabetical, and remove
use of atoi() (which doesn't report errors) in favour of strtoul().

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
2005-07-06 12:58:15 -05:00
Andreas Dilger ce911145ed Allow fractional percentages to the -m option in mke2fs and tune2fs
Allow the reserved blocks ratio to be specified in fractional
percentages.  

Addresses-Debian-Bug: #80205
Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
2005-07-06 11:50:08 -05:00
Theodore Ts'o 675b79c47f Change mke2fs to refuse to create filesystems greater than 2*31-1 blocks,
at least unless forced.
2005-06-30 20:00:41 -04:00
Theodore Ts'o bb145b01cf Fix e2fsprogs messages for grammar and consistency, based on suggestions
from Benno Schulenberg.

Add missing _() so all strings can be internationalized.
2005-06-20 08:35:27 -04:00
Theodore Ts'o d7febfa7cc mke2fs.c (PRS): Fix missing close parenthesis from bad inode
ratio error message.
2005-06-16 14:10:55 -04:00
Theodore Ts'o f37ab68a26 Corrects a few mistakes in the fsck man page, wraps two overlong lines,
and changes "bad" to "invalid" in some messages to avoid confusion with
"bad blocks" in the e2fsck, mke2fs, and badblocks programs.  Thanks to 
Benno Schulenberg.  (Addresses Sourceforge Bug: #1189803)
2005-05-05 23:15:55 -04:00
Theodore Ts'o e27b45639a Fix mke2fs so that it writes the root directory
using ext2fs_write_new_inode(), and fix ext2fs_write_new_inode() 
so that it initializes i_extra_isize properly.
2005-03-21 01:02:53 -05:00
Theodore Ts'o 6325394630 Add new functions which convert between a string and os_type: e2p_os2string()
and e2p_string2os() in the e2p library.
2005-03-19 01:13:22 -05:00
Theodore Ts'o ea77431563 Fix two bugs found by the regression test suites. The bug was created when
we changed ext2fs_create_resize_inode to always create the resize inode,
even when s_reserved_gdt_blocks is zero.  Mke2fs and e2fsck was calling 
ext2fs_create_resize_inode() unconditionally, and depending on 
s_reserved_gdt_blocks to be zero, instead of explicitly checking the 
resize_inode feature.
2005-01-28 11:45:28 -05:00
Theodore Ts'o 8430203590 mke2fs.c (PRS): Don't use a blocksize greater than 4k, even on
2.6 kernels, unless explicitly requested by the user; not
	all 2.6 kernels (includeing stock 2.6 kernels as of this
	writing) don't support blocksizes > 4k.
2005-01-27 19:12:05 -05:00
Theodore Ts'o 20953129e6 mke2fs.c (PRS): If the device size is too big to be expressed
using a 1k blocksize, retry with a 4k blocksize.
	(Addresses Sourceforge bug #1106631)
2005-01-27 19:07:26 -05:00
Theodore Ts'o ea1e8f471e Add interpretation of OS Creator values for FreeBSD and Lites in mke2fs
and dumpe2fs.

Eventually, we should fold this into a single function for converting
numbers to creator os codes, and vice versa (in TODO file)
2005-01-19 18:18:44 -05:00
Theodore Ts'o c6a44136b9 mke2fs.c (parse_extended_opts): Rename the -R option to -E. Fix
the resize= raid/extended option so it actually works.
	(The patch from Fedora e2fsprogs-1.35-11.2 claimed it
	worked, but it was a placebo, despite the claim that it
	worked in the usage message.)
2005-01-05 11:12:20 -05: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 d323f8fb36 Add support for on-line resizing ala the resize inode. This patch
is taken from Fedora Core 3's e2fsprogs 1.35-11.2.src.rpm's 
e2fsprogs-resize.patch.
2004-12-15 14:39:16 -05:00
Theodore Ts'o d99225ecce Only use blocksizes > 4k on Linux 2.6 and newer systems.
(Addresses Debian Bug #271064)
2004-09-25 07:40:12 -04:00
Theodore Ts'o 1e6e4c5e5c mke2fs.c (PRS): Fix mke2fs -V so that it prints the version banner. 2003-12-07 02:28:24 -05:00
Theodore Ts'o 544349270e Fix gcc -Wall nitpicks 2003-12-07 01:28:50 -05:00
Theodore Ts'o 1cca86f5d8 Add regression tests for mke2fs.
Mke2fs has been modified to honor the MKE2FS_SKIP_PROGRESS, 
MKE2FS_DEVICE_SECTSIZE, and MKE2FS_SKIP_CHECK_MSG in order 
facilitate the regression testing.
2003-09-01 09:28:18 -04:00
Theodore Ts'o 79120f8002 mke2fs.c (set_fs_defaults): Fix bug which caused -T largefile or
-T largefile4 to core dump due to a division by zero
	error.  (Addressed Debian bug #207082)
2003-08-31 20:56:57 -04:00
Theodore Ts'o cf7d5f1886 mke2fs.c (PRS): Add warning if using -j and the blocksize is
greater than 4096, since some kernels don't support ext3
	with large block sizes.  (Addresses Debian bug #193773)
2003-07-25 17:39:51 -04:00
Theodore Ts'o 11393006c6 mke2fs.c (set_fs_defaults): If sector_size is 0, don't use it to
set the blocksize to zero.  This causes MD devices to fail
	since they don't support the BLKSSZGET ioctl.  (Addresses
	Debian bug #196734)
2003-07-12 01:58:12 -04: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 93d5c38791 mke2fs.c (PRS, set_fs_defaults): If the sector size of the
device is larger than the default block size, then use the
	sector size of the device as the default block size.

getsectsize.c (ext2fs_get_device_sectsize): New function which
   	returns the hardware sector size (if it is available).
2003-05-21 17:28:29 -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 3879857e86 Avoid printing the version banner for mke2fs if
the -q option is specified.  (Addresses Debian bug #172716)
2003-04-16 15:29:39 -04:00
Theodore Ts'o c5290fae39 Mke2fs can be given a minimum block size by passing in a negative
number to the -b option.
2003-04-11 22:10:50 -04:00
Theodore Ts'o 5e804b72b6 Fix bug where mke2fs was incorrectly checking
the argument to the -g option, if the default block size
is used.  (Addresses Debian bug #188319)
2003-04-11 13:46:57 -04:00
Theodore Ts'o 54779c66e0 Update to deal with the fact that the INDEX_FL code in the ext2 2.4
code accidentally had the INDEX_FL backwards compatibility code
removed.   E2fsck will now fix HTREE corruptions in preen mode, and
mke2fs will not create filesystems with the dir_index flag set
by default.  (The user has to specifically request it.)
2002-11-13 07:00:16 -05: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 c046ac7f2e Add support for the meta_blockgroup filesystem format. 2002-10-20 00:38:57 -04:00
Theodore Ts'o 843049c4db mke2fs.c (main): Enable directory indexing by default.
tune2fs.c (update_feature_set): Allow directory indexing flag to
	be set.  If so, set the default hash to be TEA, and
	initialize the hash seed to a random value.
2002-09-22 15:37:40 -04:00