Commit Graph

17 Commits (dec5cd13fff821d1d3f6a922fbd986b3a86abb77)

Author SHA1 Message Date
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 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
Theodore Ts'o 9c07dc00b8 Add missing backwards compatibility for ancient Linux systems
This fixes some (but not all) of the compatibility bugs which prevented
e2fsprogs from being compiled on a Linux 2.0.35 system.  There are still
some unprotected use of long long's, and apparently some type problems
with the uuid library, but these can be fixed up later.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-05-29 11:06:16 -04:00
Theodore Ts'o 40198dd0bb Fix filefrag to be 32-bit clean
Currently filefrag uses signed int for block numbers, thus it reporting
corrupted block number for a file on a more than 8TB ext3. The following
trivial patch replace the signed int type block number with "unsigned
long type.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-04-22 04:49:09 -04: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
Theodore Ts'o 8198e79126 filefrag.c (frag_report, get_bmap): The FIBMAP and FIGETBSZ ioctls return
an integer, not an unsigned long.  Fix this to avoid problems on 64-bit 
platforms where the size of an integer != the size of a long.  
(Addresses Debian Bug #309655)
2005-05-20 23:10:35 -04:00
Theodore Ts'o bfd9762de6 Fix a bug in filefrag so that it doesn't when the first block found is an
indirect block, it doesn't falsely count an extra discontunity.  (Addresses
Debian Bug #307607).
2005-05-05 22:55:20 -04:00
Theodore Ts'o a4897d41c2 Don't abort filefrag if EXT3_IOC_GETFLAGS ioctl is not supported,
so that filefrag can work on non-ext2/3 filesystems, as advertised.
(Addresses Debian Bug: #303509)
2005-04-09 01:24:04 -04:00
Theodore Ts'o 3d16b3f4bb filefrag.c (frag_report): Automatically detect files that are
stored using the new experimental file fragments format,
	and use the non-ext2 algorithm for determing the number of
	extents.  Avoid reporting a false discontinuity if there
	is a non-allocated block (or extent) at the beginning of
	the file.
2005-03-18 20:37:45 -05:00
Theodore Ts'o 7f1faaa482 filefrag.c (frag_report): In verbose mode, print the first and
last block numbers; may be useful for some folks.
2005-02-04 09:50:41 -05:00
Theodore Ts'o 0aa0e0c7d6 filefrag.c (frag_report): Fix filefrag so that it works
correctly with sparse files; unallocated blocks should not
be treated as a discontinuity.
2005-01-20 17:37:01 -05:00
Theodore Ts'o 9290404ea7 Applied patch from Francois Petillon (fantec at proxad.net) to
avoid a file descriptor leak in the filefrag program.
2005-01-17 14:32:20 -05:00
Theodore Ts'o 6b394c1cd3 filefrag.c: Fix gcc -Wall nits. 2004-02-26 21:08:06 -05:00
Theodore Ts'o d605ba11ab filefrag.c: Use #ifdef __linux__ instead of __LINUX__ so that it
actually compiles on Linux.  (Addresses Debian bug
	#230992)
2004-02-03 19:18:03 -05:00
Matthias Andree b34cbddbd6 Re-add FreeBSD support.
Tested on FreeBSD 5.2-CURRENT as of 2003-12-28.
Tested on FreeBSD 4.9-STABLE  as of 2003-12-27.
2003-12-28 18:21:26 +01:00
Matthias Andree aa3a2fe49a Trivial warning fixes. 2003-12-21 00:52:48 +01:00
Theodore Ts'o 9642413014 Initial checkin of the filefrag program, which reports on how
badly fragmented a file might be.
2003-12-17 10:13:41 -05:00