Commit Graph

467 Commits (50448d3dffc66f86592ee0d4b16e4bbe9d08449e)

Author SHA1 Message Date
Eric Sandeen 3efc3a04fc Check for potential 64-bit overflow in ext2fs_get_device_size()
Check for potential overflow for filesystems contained in regular files
where the filesystem image size is returned by stat64().

Signed-off-by: Eric Sandeen <esandeen@sandeen.net>
2006-10-02 09:30:41 -04:00
Theodore Ts'o fa2d516fb3 Fix build problem if byte swapping has been disabled.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-10-01 21:42:21 -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
Eric Sandeen 5830d6be9c Detect overflows in loop counters
For loops such as:

for (i=1; i <= fs->super->s_blocks_count; i++) {
        <do_stuff>
}

if i is an int and s_blocks_count is (2^32-1), the condition is never false.
Change these loops to:

for (i=1; i <= fs->super->s_blocks_count && i > 0; i++) {
        <do_stuff>
}

to stop the loop when we overflow i

Signed-off-by: Eric Sandeen <esandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-08-30 02:16:55 -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 a62e3f0378 Add 64-bit byte swapping functions
Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
2006-08-06 01:39:30 -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
Andreas Dilger 347e52de90 Protect ext2_ext_attr.h from multiple inclusion
Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
2006-06-28 11:29:56 -04:00
Matthias Andree df3e159870 Add missing #include <ctype.h>.
Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
2006-05-30 16:28:42 +02:00
Matthias Andree 406ba674fe Fix non-Linux compiler warning (missing return statement).
Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
2006-05-30 16:28:22 +02:00
Theodore Ts'o 85f93ffdc4 Fix type warning problem with sizeof() in ext2fs_open2()
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-05-21 19:26:45 -04:00
Theodore Ts'o bc2699f018 Change mke2fs's layout of RAID-optimized filesystems to be more optimal
When allocating space for the RAID filesystems with the stride parameter,
place each portion of the group's inode table right up after the superblock
(if present) in order to minimize fragmentation of the freespace.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-05-13 08:46:37 -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 1f2da2c011 Speed up mke2fs and e2fsck by writing bitmaps more efficiently
Reduce disk seeks by writing the inode and block bitmaps in an interleaved fashion.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-04-23 12:43:40 -04:00
Theodore Ts'o 4ea7ea007b Fix asm_types.h type conflicts
This caused FTBFS bugs on AMD64 platforms, since it uses a different
64-bit type when compared with IA64, so we need to make our
autoconfiguration system more intelligent.

Addresses Debian Bugs: #360661, #360317

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-04-09 08:41:55 -04:00
Theodore Ts'o cef2ac104d Fix ext2fs_add_journal_inode() when filesystem is opened in exclusive mode
If the filesystem is opened in exclusive mode, then device will be
busy by definition, so don't return -EBUSY.  This caused mke2fs -j to
fail on the 1.39-WIP (29-Mar-2006) release.  (Addresses Debian Bug:
#360652)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-04-04 19:23:41 -04:00
Theodore Ts'o 8ad26b08fa Fix the x86 asm constraints for ext2fs_set/clear_bit.
The assembly function reads/writes the data files, so make sure we
tell gcc that.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-03-29 14:23:00 -05:00
Theodore Ts'o f9bcce3be0 Fix the i386 bitmap operations so they are 32-bit clean
The x86 assembly instructures for bit test-and-set, test-and-clear,
etc., interpret the bit number as a 32-bit signed number, which is
problematic in order to support filesystems > 8TB.  

Added new inline functions (in C) to implement a
ext2fs_fast_set/clear_bit() that does not return the old value of the
bit, and use it for the fast block/bitmap functions.

Added a regression test suite to test the low-level bit operations
functions to make sure they work correctly.

Note that a bitmap can address 2**32 blocks requires 2**29 bytes, or
512 megabytes.  E2fsck requires 3 (and possibly 4 block bitmaps),
which means that the block bitmaps can require 2GB all by themselves,
and this doesn't include the 4 or 5 inode bitmaps (which assuming an
8k inode ratio, will take 256 megabytes each).  This means that it's
more likely that a filesystem check of a filesystem greater than 2**31
blocks will fail if the e2fsck is dynamically linked (since the shared
libraries can consume a substantial portion of the 3GB address space
available to x86 userspace applications).  Even if e2fsck is
statically linked, for a badly damaged filesystem, which may require
additional block and/or inode bitmaps, I am not sure e2fsck will
succeed in all cases.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-03-25 13:42:45 -05:00
Theodore Ts'o 39c47ce641 Add EXT2_FLAG_EXCLUSIVE to the ext2fs library.
This flag when specified to ext2fs_open or ext2fs_initialize indicates 
that the application wants the io_channel to be opened in exclusive mode.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-03-18 19:16:10 -05:00
Theodore Ts'o fa6c653ec3 Add IO_FLAG_EXCLUSIVE flag to io_channel abstraction
Add a new io_channel open flag, IO_FLAG_EXCLUSIVE,which requests that 
the device be opened in exclusive (O_EXCL) mode.  Add support to the unix_io
implementation for this flag.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-03-18 18:57:44 -05:00
Theodore Ts'o 7447921dff Fix documentation: BLOCK_FLAG_TRAVERSE should be BLOCK_FLAG_DEPTH_TRAVERSE
Addresses Debian Bug #351268

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-03-18 08:26:36 -05:00
Theodore Ts'o a612f3432e Fix a signed vs unsigned bug in calc_reserved_gdt_blocks()
This fixes mke2fs -O resize_inode for very large filesystems (i.e., 20GB).
Addresses Debian Bug #346580

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-03-17 20:39:52 -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 3ded50b37c Address parallel build problem in the library Makefiles
Add a dependency to make sure that the subdirectories are created before 
creating all of the object files.

Addresses Sourceforge Bug: #1261553

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-12-10 22:23:01 -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
Theodore Ts'o bc47952f10 Add ext2fs_read_bb_FILE test to confirm proper detection of invalid block #'s
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-12-10 14:37:10 -05:00
Theodore Ts'o 125e084cef Fix gcc compilation on sparc architectures in bitops.h
We no longer have the sparc assembly code in the header file any more, so we 
shouldn't set _EXT2_HAVE_AS_BITOPS_.  This would break compiles on the sparc
architectures when using gcc.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-11-21 00:04:31 -05:00
Theodore Ts'o a82a57025c Add missing #include for string.h to ext2fs.h to fix GCC 4.01 complaints
#include <string.h> is needed since the inline functions use memcpy().  
(Addresses Sourceforge Bug #1251062)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-11-14 14:49:15 -05:00
Theodore Ts'o 0d961040fe Fix writing external journals on big-endian machines
Fix a bug when writing an external journal device on an big
endian machine (such as a S/390), where when the number of
block groups is zero, we never end up writing out the
primary superblock at all.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-11-12 23:30:39 -05:00
Theodore Ts'o 32138187f0 Add fs->now to override time(0) in libext2fs
If fs->now is non-zero, use that as the time instead of the system
time when setting various filesystem fields (last modified time, last
write time, etc.)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-09-24 20:14:51 -04:00
Matthias Andree 68a7f959c0 Fix compiler warnings about missing memcpy prototypes.
Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-09-06 05:59:52 -04:00
Theodore Ts'o 583d1f8328 Fix false positives from valgrind: prctl(PR_GET_DUMPABLE)
Pass in zero to the unusued arguments of prctl(PR_GET_DUMPABLE) to
avoid false positives from valgrind.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-07-25 11:36:43 -05:00
Theodore Ts'o 29af314d3f Check for a busy device when creating a journal.
In ext2fs_add_journal_inode() check for the case where the filesystem
appears to be unmounted, but the device is still apparently busy.
This can happen when the luser doesn't bother to mount /proc and has a
bogus /etc/mtab, but still wants to mount the filesystem before using
tune2fs(?!?).  Add a safety check to save him from his own stupidity,
at least on 2.6 kernels.  (Addresses Debian Bug #319002)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-07-19 15:04:22 -05:00
Andreas Dilger 9b7d811dda This patch adds a check to use fstat or fstat64 in getsize.c if the
target is a regular file, instead of doing binary searching.  It also
fixes a couple of cases where a file descriptor is leaked in the
ext2fs_getsize() routine on error.

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
2005-07-09 22:06:59 -05:00
Theodore Ts'o 1f965c8d96 Update for e2fsprogs 1.38 release. 2005-06-30 20:06:45 -04:00
Theodore Ts'o 80af12e180 Change the function prototypes of ext2fs_set_bit, ext2fs_clear_bit, and
ext2fs_test_bit to take an unsigned int for the bit number.  Negative
bit numbers were never allowed (and didn't make any sense), so this should
be a safe change.  This is needed to allow safe use of block numbers
greater than or equal to 2**31.
2005-06-30 19:40:18 -04:00
Stephen Tweedie 39c191f5b3 ext2fs_resize_mem() is suffering from C99 strict type aliasing problems.
The trouble is that it is modifying pointers in place, but doing so via
"void *" types which alias the pointers passed in (which are typically
pointers to a struct.)  The inline ext2fs_resize_mem() code may update
the pointer, but the caller is not required to reload the old value it
may have cached in a register, according to the type aliasing rules.

This is causing the caller to dereference the old pointer when compiled
with -O2, resulting in reproducible SEGV, on at least one ia64
configuration.

The compiler *is* required to reload if it sees an update to a dereferenced
char value, though, as chars are defined to alias anything; and memcpy()
is defined to operate on chars.  So using memcpy() to copy the pointer
values is guaranteed to force the caller to reload.  This has been 
verified to fix the problem in practice.

Fixes Red Hat bug #161183.
2005-06-27 11:47:21 -04:00
Theodore Ts'o e37fbf1c19 getsectsize.c (BLKSSZGET): Clean up test for when to manually
define the BLKSSZGET ioctl.
2005-06-19 23:11:09 -04:00
Theodore Ts'o 2fa8f37fff On Linux 2.6 systems, mke2fs and badblocks will check to see whether
the filesystem appears to be busy; if so, the programs will print an
error message and abort.   (Addresses Debian Bug #308594).
2005-06-05 16:05:22 -04:00
Theodore Ts'o 3af0a45628 Fix bug in the secure getenv function so that the ss library will corrently
honor the PAGER and SS_READLINE_PATH environtment variables, and the 
test_io io_manager in the ext2fs library honors the TEST_IO_LOGFILE,
TEST_IO_FLAGS, TEST_IO_BLOCK, and TEST_IO_READ_ABORT environment variables.
2005-05-08 02:15:02 -04:00
Theodore Ts'o 75e93ab097 Update "make depend" information. Fixes SMP parallel build problem.
(Addresses Sourceforge Bug: #1157933)
2005-05-06 09:37:58 -04:00
Theodore Ts'o 09f3eba28a Fix typo so that we actually ignore environment variables when gid != egid. 2005-04-16 13:56:03 -04:00
Theodore Ts'o b1ae119729 Add missing return values in error return cases in the ext2fs library.
(Otherwise we return garbage instead of the error code.)
2005-04-09 01:21:21 -04:00
Theodore Ts'o 762c7c6510 Add paranoia checks into the blkid, ext2fs, and ss libraries to ignore
environment variables if the libraries are called from setuid or setguid 
programs, or if kernel believes that the process is not eligible to create
a core dump.  In addition, if the libc has __secure_getenv(), use it so that
the libc can also do any additional limitations regarding when libraries can
trust environment variables (i.e., to integrate with systems like SELinux 
and Posix capabilities).
2005-04-06 14:44:16 -04:00
Theodore Ts'o fd4b28efd3 Update for the e2fsprogs 1.37 release. 2005-03-21 22:37:03 -05:00
Theodore Ts'o cebe48a1ec Integrate code from Alex Thomas at Clusterfs to check extended attributes
stored in inodes into e2fsck.

There are a number of bug fixes and enhancements over the original lustre fsck
BK repository.  The biggest one is that this extended attribute values must
be aligned on 4-byte boundaries.
2005-03-21 13:15:45 -05: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 030970ed75 Fix e2fsck, debugfs, and the ext2fs_mkdir function so that when we create
a new inode we make sure that the extra information in the inode (any extra
fields in a large inode and any ea-in-inode information) is cleared.  This 
can happen when e2fsck creates a new root inode or a new lost+found directory,
or when the user uses the debugfs write, mknod, or mkdir commands.  Otherwise,
the newly create inode could inherit garbage (or old EA information) from
a previously deleted inode.
2005-03-20 20:05:22 -05:00
Theodore Ts'o ea822eeba3 Enhance debugfs's stat command so it can dump extended attributes
which are stored in the inode body.
2005-03-20 18:03:58 -05:00
Theodore Ts'o 06ce1f6b28 Fix clean target to remove tst_getsectsize.
Remove useless -DDEBUG when linking tst_getsectsize.
2005-03-18 23:50:32 -05:00
Theodore Ts'o 283df83e7e getsize.c (ext2fs_get_device_size): Check to see if the number
of blocks is greater than 2**32 when we are doing a binary
	search to determine the device size.  Thanks to Stephen
	Tweedie for the patch.
2005-03-18 20:11:59 -05:00
Theodore Ts'o 3eee5e9eed Update for release of e2fsprogs 1.36. 2005-02-05 18:26:03 -05:00
Theodore Ts'o b7aa0d653e Remove *.pc files on a "make distclean"
Remove emacs backup files in tests/Makefile on a "make clean"
2005-02-05 15:48:49 -05:00
Theodore Ts'o dbb2a1014a Makefile.in (clean): Remove tst_getsize when doing a make clean 2005-02-04 10:36:37 -05:00
Theodore Ts'o 7004b4af6e Drop the sparc assembly bitwise operations; it's less efficient
than the GCC 3.4 compile code and triggers compiler warnings on 
sparc64.  Thanks to Matthias Andree for his analysis and suggestions.
(Addresses Debian Bug #232326)

Remove support for the --enable-old-bitops configure option which 
was only for very old sparc systems.
2005-02-03 21:56:44 -05:00
Theodore Ts'o d4dc0a9e29 Create the resize inode is created even if the s_reserved_gdt_blocks is
zero; e2fsck will now complain and recreate the resize inode if i_links_count
is zero or if it is not a regular file.
2005-01-27 18:47:51 -05:00
Theodore Ts'o e644186542 Add pkg-config files to e2fsprogs's libraries. 2005-01-26 12:59:25 -05:00
Theodore Ts'o 7331196a16 Add library support for large (EA in inode) inodes. Make sure that garbage
doesn't get written into the reserved portion when writing into filesystems
that have large inodes defined.
2005-01-25 23:42:56 -05:00
Theodore Ts'o 8800c73835 Makefile.in: Fix the kernel compile-time echo commands to be
consistent and portable
2005-01-19 00:25:25 -05:00
Theodore Ts'o 4e60fb609b Ex2fs_unlink() will return an error if both the name and inode number are
unspecified, to avoid doing something surprising (such as unconditionally
deleting the first directory entry).   Directory entries are now deleted
by coalescing them with the previous directory entry if possible, to 
avoid directory fragmentation.  This is not an issue with the e2fsprogs suite,
but may be a problem for some of the users of libext2fs, such as e2tools.
2005-01-07 22:09:49 -05:00
Theodore Ts'o da83cb6e48 Update version to 1.36-rc1, and change parsing algorithm for version strings
so that it deals with -rc version numbers correctly.
2005-01-06 23:52:45 -05:00
Theodore Ts'o dc8ce34637 Fix resize inode handling on big endian systems, by adding new routines
that read/write indirect blocks, byte swapping them if necessary.
2005-01-06 00:04:24 -05:00
Theodore Ts'o bc1b803214 dupfs.c (ext2fs_dup_handle): Make sure the new filesystem handle
has its own copy of the orig_super data structure.  (This
	is a better way of fixing a double-free problem in
	resize2fs which Fedora attempted to fix in 
	e2fsprogs-1.35-double_free.patch.   Addresses Red Hat
	Bugzilla #132707.)
2005-01-05 03:16:09 -05:00
Theodore Ts'o 71669d0541 Avoid some potential inode cache coherency problem caused by using the
byte-swapping options to e2fsck.  This was the cause of some hard to 
reproduce problems that had been reported in the past, and which the
resize_inode changes tickled in a much more repeatable fashion.
2004-12-23 21:49:05 -05:00
Theodore Ts'o 1d667534e9 ext2fs.h (BMAP_SET), bmap.c (ext2fs_bmap): Add support for new
flag, BMAP_SET, which allows the caller to set a
	particular logical->physical block mapping.
2004-12-23 13:55:34 -05:00
Theodore Ts'o 40abad6915 Clean up resize inode routines in ext2fs library. We no longer print
any debugging statements from within library code (always a bad idea), and
ext2fs_create_resize_inode() will return a proper error code if the 
resize inode is corrupt, instead of returning -1.
2004-12-23 07:45:04 -05:00
Theodore Ts'o 5d28e3be67 swapfs.c (ext2fs_swap_super): Byteswap the reserved_gdt_blocks
superblocks field.
2004-12-22 20:55:48 -05:00
Theodore Ts'o 1b4cd9c746 sparse.c (ext2fs_list_backups, ext2fs_bg_has_super),
res_gdt.c (list_backups), closefs.c (ext2fs_bg_has_super),
	ext2fs.h: Move ext2fs_list_backups() to res_gdt.c, and
	ext2fs_bg_has_super() back to closefs.c.  There's no
	reason for the new file, since list_backups() isn't being
	used by any other functions, and can be made static, and
	all users of the ext2fs filesystem will have to call
	ext2fs_close() anyway.
2004-12-15 18:06:52 -05:00
Theodore Ts'o 22c6821a24 Supplied changelog for resize inode patch. 2004-12-15 17:26:32 -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 522798d342 Add install-strip and install-shlibs-strip targets
Use Linux-kernel-style makefile output for "make install"

Update intl/Makefile.in to version from gettext 0.14.1
2004-12-15 11:28:55 -05:00
Theodore Ts'o 6d4022786d Use MKINSTALLDIRS macro so that the Makefiles can find the script
correctly.

Update Makefile dependencies.

Update "make depend" production so that it filters out comments
inserted by newer gcc compilers.

Remove sync from e2fsck's "make all" target.
2004-12-14 21:46:26 -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 47204ff983 Use Linux-kernel-style makefile output to make it easier to
see errors/warnings.
2004-11-30 10:52:27 -05:00
Theodore Ts'o 39dc1c45cb Add definition for the extents filesystem feature and inode flag.
Change the maximum allowable blocksize to be 65536.  This allows e2fsck to
check filesystems with a pagesize of 65536, and mke2fs to accept -b 65536.
Of course such a filesystem will not currently work on a Linux/x86 system,
at least not as of this writing!
2004-11-29 22:14:23 -05:00
Theodore Ts'o 2b5901d9c7 Remove the a.out DLL support, since it's been obsolete and unmaintained
for a long time now.
2004-11-19 17:06:47 -05:00
Theodore Ts'o 1a9c8c35ba getsize.c (ext2fs_get_device_size): Add support for Windows
9x/NT under Cygwin.  Thanks to Sam Robb
	(samrobb@users.sourceforge.net) for pointing this and the
	suggested code patch.
2004-10-08 12:45:24 -04:00
Theodore Ts'o 9845cf5dbd Clean up the header file #include's for lib/blkid/getsize.c
and lib/ext2fs/getsize.c

In lib/blkid/getsize.c, include <sys/disk.h> if present since
this is where the DIOCGMEDIASIZE ioctl is defined on FreeBSD.
(Addresses Debian Bug #264630)
2004-09-17 19:07:03 -04:00
Theodore Ts'o 488f3c2dad On non-linux systems, use lseek64() if it is present in
ext2fs_llseek() and blkid_llseek().  (Addresses Debian bug #269044)
2004-09-17 17:47:12 -04:00
Theodore Ts'o 1ad54a940c Add ability for debugfs to use a separate source of data blocks when
reading from an e2image file.  (New -d option)

Add new functions ext2fs_get_data_io, ext2fs_set_data_io,
ext2fs_rewrite_to_io to libext2fs library.
2004-07-28 21:11:48 -04:00
Theodore Ts'o a63d126783 closefs.c (ext2fs_flush): Make sure the master superblock is
written last, and only after other I/O has been flushed to
	disk.  Thanks to Junfeng Yang from the Stanford
	Metacompilation group for pointing a potential ordering
	constraint problem if we don't write things out in the
	right order.
2004-05-26 21:29:14 -04:00
Theodore Ts'o a002e7e200 Implement the ability for the test_io mechanism to abort after n reads
or writes to a particular block.  The block is specified by
	TEST_IO_BLOCK environment variable, and the read/write count
	by the TEST_IO_READ_ABORT and TEST_IO_WRITE_ABORT environment
	variables.  The block data is now only dumped if the 0x10 bit
	is set in TEST_IO_FLAGS.
2004-05-26 21:04:07 -04:00
Theodore Ts'o aa5c0a4562 Remove .cvsignore files; they were out of date, and causes lintian
to flame about their presence in the source tarball.
2004-05-05 09:02:36 -04:00
Theodore Ts'o 2625803ecf Use C99 stdint.h types instead of custom types in the uuid library. 2004-04-03 10:20:26 -05:00
Matthias Andree 83e692e88b unix_io.c, pass1.c:
int -> unsigned for 1 bit wide bitfields - we cannot have a value and a sign in 1 bit.
  Fixes some of the Intel C++ 8.0 warnings (-w1 level).
2004-03-30 04:17:14 +02:00
Matthias Andree 289e0557c2 GNU/KFreeBSD portability fixes. (Addresses Debian Bug #239934) 2004-03-30 03:57:41 +02:00
Theodore Ts'o 2c5cfbcb99 Only use the BLKGETSIZE64 ioctl on Linux 2.6 since it is
unreliable in Linux 2.4.  (Addresses Debian Bug #236528).  

Fix typo in the ioctl used for Mac OS X.
2004-03-08 14:12:09 -05:00
Theodore Ts'o 85b8700344 Update getsize functions to use the Apple Darwin and Linux 64-bit
ioctl's.
2004-03-02 10:11:11 -05:00
Theodore Ts'o 434661f8d5 Patch from Brian Bergstrand to use the correct -fPIC flag for
Darwin in order to get rid of the compiler warning.
2004-02-29 22:46:49 -05:00
Theodore Ts'o b70b1167fe Update version number for e2fsprogs 1.35 release. 2004-02-28 10:52:35 -05:00
Theodore Ts'o e47fd8414d ext2fs.h (ext2fs_resize_mem): Fix C++ problem. (Addresses Red
Hat Bugzilla #112448; thanks Thomas Woerner from Red Hat.)
2004-02-21 21:04:30 -05:00
Theodore Ts'o 795afc4483 Fix libext2fs and debugfs to correctly deal with symlinks that have
extended attribute information.  (Addresses Debian Bug #232328)
2004-02-21 20:54:31 -05:00
Theodore Ts'o 1daf758571 Update for WIP release 1.35-WIP release dated 31-Jan-2004. 2004-01-31 22:33:16 -05:00
Theodore Ts'o 1ba7a2f2b6 Fix a byte swap bugs, including one which caused e2fsck to
incorrectly treat as valid symlinks created with SE Linux 
(Debian bug #228723) as well as failing the f_journal test case on 
big endian systems due to the backup journal blocks not being swapped.
2004-01-30 01:48:06 -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