Commit Graph

559 Commits (f1f115a78f5ea599fc5f8815a741d43fedd5840d)

Author SHA1 Message Date
Theodore Ts'o f1f115a78f libext2fs: 32-bit bitmap refactorization, part 3
Create new functions ext2fs_{set,get}_{inode,block}_bitmap_range()
which allow programs like e2fsck, dumpe2fs, etc. to get and set chunks
of the bitmap at a time.

Move the representation details of the 32-bit old-style bitmaps into
gen_bitmap.c.

Change calls in dumpe2fs, mke2s, et. al to use the new abstractions.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-07-23 04:32:48 -04:00
Theodore Ts'o febac23c12 Update tune2fs man page to include more discussion of reserved blocks
Addresses-Launchpad-bug: #47817

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-07-11 23:20:17 -04:00
Theodore Ts'o 424a3e4a23 Remove Changelog files since they're not used after the git migration
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-07-08 08:50:41 -04:00
Theodore Ts'o d48bc60459 Compile the default mke2fs.conf into mke2fs program
People are getting surprised by mke2fs creating filesystems with
different defaults than earlier versions of mke2fs if mke2fs.conf is
not present.  Having gotten two complaints about ramdisks getting
created by with 4k blocksizes which then blow up when the ramdisk is
mounted with a "Magic mismatch, very weird" error message from the
kernel, let's fix this by making sure mke2fs has a built-in version of
mke2fs.conf file.  People can still override the built-in version of
mke2fs.conf by editing /etc/mke2fs.conf, but this maintains the
previous behavior.

Addresses-Sourceforge-Bug: #1745818

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-07-04 14:27:30 -04:00
Theodore Ts'o d7b64725ee Update Release Notes, Changelogs, version.h, etc. for 1.40 release
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-06-24 17:32:47 -04:00
Theodore Ts'o 56d1236726 Add default journal size function
Factor out the code which sets the default journal size and move it
into libext2fs.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-06-21 11:59:06 -04:00
Theodore Ts'o 058ad1c70c Don't write changes to the backup superblocks by default
This patch changes ext2fs_open() to set EXT2_FLAG_MASTER_SB_ONLY by
default.  This avoids some problems in e2fsck (reported by Jim Garlick)
where a corrupt journal can end up writing the bad superblock to the
backups.  In general, only e2fsck (after the filesystem is clean),
tune2fs, and resize2fs should change the backup superblocks by default.
Most callers of ext2fs_open() should not be touching anything where the
backups should be touched.  So let's change the defaults to avoid
potential problems.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-06-18 18:26:50 -04:00
Theodore Ts'o 5267a520bb Fix error checking of badblock's last-block and start-block arguments
Addresses Debian Bug: #416477

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-06-04 01:49:51 -04:00
Brian Behlendorf 21400381d9 [COVERITY] Free memory leak in mke2fs when parsing extended options
Coverity ID: 34: Resource Leak

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-05-31 11:30:47 -04:00
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
Andreas Dilger dcf7b091c3 mke2fs: Add check to make sure inode_size * num_inodes isn't too big
A quick patch to sanity check the inode ratio vs the inode size.  In
some cases Lustre users have tried specifying an inode size of 4096
bytes, while keeping an inode ratio of one inode per 4096 bytes.  I'm
sure more people will do this now that large inodes are available in
ext4 and documented in e2fsprogs.

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-05-22 16:04:51 -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 46100e3f6e Add -g option to the blkid program to garbage collect the blkid.tab file
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-05-18 00:16:02 -04:00
Eric Sandeen 5113a6e32b Fix mke2fs and debugfs to support large (> 16 bit) uid's and gid's
Mke2fs is supposed to set the uid/gid ownership of the root directory when
a non-rooot user creates the filesystem.  This wasn't working correctly
if the uid/gid was > 16 bits.   In additional, debugfs wasn't displaying
large uid/gid's correctly.  This patch fixes these two programs.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-05-08 00:10:54 -04:00
Eric Sandeen a25d231a8a Fix mke2fs defaults when /etc/mke2fs.conf doesn't exist
One of our testers filed a bug that said "mkfs.ext3 is much slower
when mke2fs.conf is missing..."

This is because the shipped defaults in mke2fs.conf do not match the
shipped defaults in the mkfs code itself; he wound up making a 1k
block filesystem on a very large block device, for example.

So - How about this patch, to bring them back into line?  Which makes
me wonder; having "defaults" in 2 different places is bound to get out
of sync; should we instead generate both code & config file defaults
(and maybe man page defaults) from a common source?

Anyway, here's a patch to bring mke2fs.conf and mke2fs.c into line for
current defaults...

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
2007-05-07 23:38:14 -04:00
Andreas Dilger f331acbe56 Allow the journal size to up to 10,240,000 blocks
Increase the maximum size of the journal to 100 times the previous
maximum, but add a restriction that it can be no more than half the size
of the filesystem.

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-04-07 15:39:50 -04:00
Theodore Ts'o 52a079315b Document the -X flag in the badblocks man page
Addresses Debian Bug: #379695

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-04-02 18:42:59 -04:00
Brian Behlendorf 45415c2dc1 [COVERITY] Fix memory leak in tune2fs and mke2fs when parsing journal options
Coverity ID: 33: Resource Leak

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-03-28 09:50:33 -04:00
Brian Behlendorf 12f8ff440c [COVERITY] Fix memory leak in fsck on error paths
The memory allocated by inst is not reclaimed.  There also was a
call to exit that coverity did not catch the resource leak.  This
might not really be a big issue since the memory will be freed when
fsck exits, but it should be done anyway imho.

Coverity ID: 32: Resource Leak

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2007-03-28 09:48:07 -04:00
Brian Behlendorf d7eee82910 [COVERITY] Fix memory leak in e2image (write_raw_image_file)
Coverity ID: 28: Resource Leak

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2007-03-21 19:16:52 -04:00
Brian Behlendorf 248c2f9c48 [COVERITY] Fix memory leak in e2image
zero_buf and buf must be freed on return from the
output_meta_data_blocks() function.

Coverity ID: 26+27: Resource Leak

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2007-03-21 19:16:33 -04:00
Brian Behlendorf e066150a70 [COVERITY] Fix dead code bug in mke2fs
If the fs_type is not specified and we are creating a journal device, to
use a fs_type of "journal"; this used to be the behavior before we added
support for the /etc/mke2fs.conf file, so let's fix it to restore the
old behavior.

Coverity ID: 4: Deadcode

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-03-19 08:25:38 -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 017a76ee39 Adjust badblocks -n/-w exclusive usage message
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-17 23:00:19 -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 cf8272e108 Allow debugfs and dumpe2fs to support fs features under development
Add support for the new flag EXT2_FLAG_SOFTSUPP_FEATURES flag to
ext2fs_open() , which allows application to open filesystes with features
which are currently only partially supported by e2fsprogs.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-12 23:26:46 -05:00
Theodore Ts'o d8b5f77743 Add explanatory message to badblocks that -n and -w are mutually exclusive
Addresses Debian Bug: #371869

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-12 23:09:03 -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
Theodore Ts'o 8938ce64dc Fix interpretation of the last_block command-line parameter to badblocks
Also update the display messages so they are accurate.

Addresses Debian Bug: #386475

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-10-03 23:35:57 -04:00
Theodore Ts'o d49db19e0d Increase default journal size to guarantee working on-line resizing
Make the smallest journal be 1400 blocks instead of 1024 blocks to
make sure there is enough room to support on-line resizing.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-10-02 08:31:54 -04:00
Theodore Ts'o cce2f497e0 Fix Debian FTBFS problem caused by devmapper library using pthreads
Addresses Debian bug: #388718

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-10-01 22:18:08 -04:00
Theodore Ts'o 8153d1cc09 Fix misc/Makefile.in so that it builds even if e2fsck hasn't been built yet
Addresses Sourceforge Bug: #1565561

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-10-01 21:14:37 -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 abf23439d5 Create new ext2fs library inlines: ext2fs_group_{first,last}_block()
Create new ext2fs library inline functions in order to calculate
the starting and ending blocks in a block group.

Signed-off-by: Eric Sandeen <esandeen@redhat.com>
2006-09-12 14:56:16 -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
Eric Sandeen 62c6d1403e Remove unused variables
Signed-off-by: Eric Sandeen <esandeen@redhat.com>
2006-09-12 14:56:12 -04:00
Eric Sandeen bb1a46a430 Fix loops over group descriptors to prevent 2**32-1 block number overflows
For loops iterating over all group descriptors, consistently define
first_block and last_block in a way that they are inclusive of the
range, and do not overflow.

Previously on the last block group we did a test of <= first +
dec_blocks; this would actually wrap back to 0 for a total block count
of 2^32-1

Also add handling of last block group which may be smaller.

Signed-off-by: Eric Sandeen <esandeen@redhat.com>
2006-09-12 14:55:22 -04:00
Theodore Ts'o 9a85c2ab3b Minor man page updates to tune2fs(8) and uuidgen(1)
Addresses Debian Bug: #373004

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-09-12 02:33:08 -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 57d7bb7b08 Remove unnecessary and unused resize2fs build rule from misc/Makefile.in
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-08-30 02:06:41 -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 f776a2354d blkid.8.in: Fix description of the -l option to be more accurate
This patch fixes the blkid.8.in description of the "-l" option.  The man
page gives the impression that the first match is the one that is returned.
However, the blkid_find_dev_with_tag() function returns the device with
the highest priority (which is good, because that is what people really want).

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
2006-08-19 21:12:15 -04:00
Andreas Dilger 42fef8df5c Make the findsuper program more powerful
Improve the findsuper program by printing the uuid and label from the
superblocks, as well as the starting and ending offsets of the
filesystem given the information in the superblock.  Omit by
default printing superblocks that are likely found in located in an ext3
journal unless an explicit -j option is given.

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-08-06 00:56:37 -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 8fe81a3d53 Rename EXT3_EXTENTS_FL to EXT4_EXTENTS_FL and make it visible to the user
lsattr will display the EXT4_EXTENTS_FL flag

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-08-05 18:50:22 -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
Theodore Ts'o e71be1c802 Fix spelling typo in chattr(1) man page
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-07-15 21:55:33 -04:00
Matthias Andree cdfa2ba7a7 Install mke2fs.conf into root_sysconfdir rather than /etc. 2006-06-12 13:54:16 +02:00