Commit Graph

895 Commits (4a568505ab904d39d9553e9c1d1c565615a5c6ca)

Author SHA1 Message Date
Theodore Ts'o d90be5b143 [COVERITY] Allow blkid_dev_has_tag to check if a tag exists when value==NULL
blkid_dev_has_tag() will immediately return -1 (an error if value is
NULL.  Thus at the test later on value cannot be NULL. There are two
possible ways to go about fixing this. The first would be to remove the
first NULL check for value.  The second one would be to remove the
second check (and the deadcode).

I chose the second path because the functionality added is something
which a programmer could reasonably expect given the function name, and
it is highly unlikely any existing code is depending on the fact that
blkid_dev_has_tag() will return an error if value is NULL.

Coverity ID: 3: Deadcode

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-03-18 11:21:44 -04:00
Theodore Ts'o 257ace82b7 Fix memory leak in blkid library
Addresses Debian Bug: #413661

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-03-06 19:56:18 -05:00
Theodore Ts'o ec84b746f5 Add debugging code to the com_err library
If the environment variable COMERR_DEBUG is set to 1, print out debugging
messages as error tables are added and removed from the com_err library.
If the COMERR_DEBUG_FILE environment variable is set (and the process is
not setuid) the debugging messages may be redirected to a file.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-12-22 13:38:38 -05:00
Theodore Ts'o d2a3bf2ccc Fix (as yet unused) struct ext4_group_desc to add a missing bg_pad field
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-30 14:48:48 -05:00
Theodore Ts'o 83732f11d6 Add libreadline.so.5 to the list of readline libraries used by libss
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-17 22:56:23 -05:00
Theodore Ts'o dec5cd13ff Fix gcc -Wall complaints in libext2fs
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-14 23:14:12 -05:00
Theodore Ts'o 2694f31946 Fix type punning bugs in ext2fs_get_mem() and ext2fs_free_mem()
This was causing dumpe2fs to crash on the ARM platform when examining
the badblocks list.

Also reverts an incorrect fix made by changeset 38078f692c20

Addresses Debian Bug: #397044
2006-11-14 00:34:34 -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 89dd65704f Check in ext4 extent headers into the source tree
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-12 22:54:35 -05:00
Theodore Ts'o 477007e1b1 Add support for printing new filesystem features
Add support for printing the huge_file, gdt_checksum, dir_nlink,
extra_isize, extent, and 64bit features.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-12 22:50:18 -05:00
Theodore Ts'o 413a78f657 Work around GCC bug on the Arm platform
Addresses Debian Bug: #397044

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-12 22:22:00 -05:00
Theodore Ts'o 05155f9bff Set local environment variables to C so mk_cmds and compile_et always work
Addresses SourceForge Bug: #1532177

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-12 10:43:31 -05:00
Theodore Ts'o 2aee23f325 Allow unix_io offsets greater than 2G
Addresses SourceForge Bug: #1547922

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-12 10:40:40 -05:00
Theodore Ts'o f77704e416 Add directory hashed signed/unsigned hint to superblock
The e2fsprogs and kernel implementation of directory hash tree has a
bug which causes the implementation to be dependent on whether
characters are signed or unsigned.  Platforms such as the PowerPC,
Arm, and S/390 have signed characters by default, which means that
hash directories on those systems are incompatible with hash
directories on other systems, such as the x86.

To fix this we add a new flags field to the superblock, and define two
new bits in that field to indicate whether or not the directory should
be signed or unsigned.  If the bits are not set, e2fsck and fixed
kernels will set them to the signed/unsigned value of the currently
running platform, and then respect those bits when calculating the
directory hash.  This allows compatibility with current filesystems,
as well as allowing cross-architectural compatibility.

Addresses Debian Bug: #389772

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-11 22:32:35 -05:00
Theodore Ts'o 6b3ce9871c On-disk format for controlling the inode size
- EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE (0x0040?) - add s_min_extra_isize and
  s_want_extra_isize fields to superblock, which allow specifying
  the minimum and desired i_extra_isize fields in large inodes
  (for nsec+epoch timestamps, potential other uses).  Needs RO_COMPAT
  flag handling, needs e2fsck support, patch complete, little testing.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-11 09:45:22 -05:00
Theodore Ts'o 8061d2c144 On-disk format definition for 64-bit support
- EXT4_FEATURE_INCOMPAT_64BIT (0x0080) - support for 64-bit block count
  fields in the superblock (s_blocks_count_hi, s_free_blocks_count_hi),
  large group descriptors (s_desc_size), extents with high 16 bits
  (ee_start_hi, ei_leaf_hi), inode ACL (i_file_acl_hi).  May also grow
  to encompass the previously proposed BIG_BG.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-11 09:44:47 -05:00
Theodore Ts'o bec6f49a46 On-disk format for large number of subdirectories
- EXT4_FEATURE_RO_COMPAT_DIR_NLINK (0x0020?) - allow directories to have
  > 65000 subdirectories (i_nlinks) by setting i_nlinks = 1 for such
  directories.  RO_COMPAT protects old filesystems from unlinking such
  directories incorrectly and losing all files therein.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-11 09:43:42 -05:00
Theodore Ts'o 8815fb8a00 On-disk format definition for group descriptor checksums
- EXT4_FEATURE_RO_COMPAT_GDT_CSUM (0x0010?) - store a crc16 checksum in
  the group descriptor (s_uuid[16] | __u32 group | ext3_group_desc
  (excluding gd_checksum itself)).  This allows the kernel to more safely
  manage UNINIT groups.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-11 09:41:52 -05:00
Theodore Ts'o 5d17119d14 On-disk format definition for huge files
- EXT4_FEATURE_RO_COMPAT_HUGE_FILE (0x0008) - change i_blocks to be
  in units of s_blocksize units instead of 512-byte sectors, use
  l_i_frag and l_i_fsize as i_blocks_hi (could also be part of 64BIT).

E2fsck and debugfs changed to support i_blocks_hi instead of l_i_frag and
l_i_fsize.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-11 06:32:03 -05:00
Theodore Ts'o ae2868acf0 Add failsafe against duplicate UUID's generated by threaded programs
Add in randomness based on Linux's thread id (gettid) to avoid race
conditions when two threads try to generate uuid's at the same time.
This shouldn't be an issue if /dev/urandom has proper locking and is
present, so this is just a failsafe.

Addresses SourceForge Bug: #1529672

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-10-22 00:18:49 -04:00
Theodore Ts'o b6b65c3de4 Add datarootdir definition for compatibility with autoconf 2.60
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-10-22 00:14:26 -04:00
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
Theodore Ts'o 23bb9b106a Fix e2p_percent() crash if percentage was zero.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-09-29 10:23:16 -04:00
Theodore Ts'o 5b984ab51f blkid_devno_to_devname(): Avoid recursive loops due to symlinks in /dev
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-09-24 22:33:38 -04:00
Karel Zak 633f453db1 Fix blkid bug with correctly reporting FAT filesystem labels that are empty
Signed-off-by: Karel Zak <kzak@redhat.com>
2006-09-17 21:23:46 -04:00
Karel Zak b5517ca667 Add GFS/GFS2 support to the blkid library.
Signed-off-by: Karel Zak <kzak@redhat.com>
2006-09-17 21:10:58 -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 a02fa9beb8 Fix bug in device mapper scanning; probe_one() doesn't want a leading /dev
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-09-12 01:30:53 -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
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 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 cc6d1a9ef7 This patch fixes up an error in the lib/blkid/Makefile.in which was causing
all lib/blkid/tst* files to be removed with "make clean", in particular
tst_types.c.  That was causing a failure of "make check" in an RPM source
tree.  Fix is to explicitly list the test binaries, as lib/ext2fs/Makefile.in
does.

As "make check" was only calling test_probe and tst_types (and none
of the other tst_* tests) it was not clear what was going on, and an
"hg update" would always return the old tst_types.c file back so the
problem was only being seen intermittently...  It isn't clear whether
you want the other tst_* programs to be run as part of "make check".

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
2006-08-19 20:05:28 -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 3f5ef9642b Create the generated files read-only to remind developers not to edit them.
Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-08-05 14:41:00 -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
Andreas Dilger 9a519c0284 fix comment for blkid_get_dev_size()
Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
2006-06-21 00:04:08 -04:00
Matthias Andree aadac9b7bb Add parentheses and casts to make GCC happy.
Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
2006-05-30 16:29:49 +02: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
Matthias Andree 94fa1108ee Fix SIGBUS through unaligned access to FAT superblocks.
SPARCs do not like unaligned halfword access and throw SIGBUS.
Read data "manually" instead.

Tested on Solaris 8/SPARC with gcc 2.95.3.

Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
2006-05-30 15:47:12 +02:00
Matthias Andree 0ac93a00c9 Change more "echo -n" to "printf" to avoid screen clutter.
Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
2006-05-30 15:47:05 +02:00
Matthias Andree bdc3514af4 Switch endian detection from Linuxism to AC_C_BIGENDIAN.
This fixes all blkid test failures on FreeBSD 4.11 i386.

Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
2006-05-30 14:42:47 +02:00
Matthias Andree a0dfc6ea8c Revise DIOCGDINFO (sys/disklabel.h) related FreeBSD comment.
Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
2006-05-30 05:08:02 +02:00
Matthias Andree 5beaabb0f8 Enable sys/disklabel.h and DIOCGDINFO based getsize code.
Tested on FreeBSD 4.11-RELEASE i386.

Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
2006-05-30 04:26:13 +02:00
Matthias Andree 12a829dcdc Add a bunch of type fixes for debug/"make check" code paths.
Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
2006-05-30 01:48:51 +02:00
Matthias Andree 21261a0ea2 Cast time_t variable to long for fprintf to match %ld.
Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
2006-05-30 01:20:46 +02:00
Matthias Andree 66352fe200 Drop unused vector uuid[].
Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
2006-05-30 01:20:17 +02:00
Matthias Andree f72b8ff098 Implement DIOCGMEDIASIZE for FreeBSD's GEOM.
Try DIOCGMEDIASIZE ioctl() if defined, to obtain
the media size on FreeBSD 5.0 and newer.
The binary search fallback doesn't work, as FreeBSD
block devices are unbuffered and refuse reads below
the block size.

Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
2006-05-30 00:54:49 +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 49487b79da Fixed signed vs. unsigned comparison warning in strncmp().
It's better to use memcmp() anyway given the code in question.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-05-14 17:29:00 -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 b116e781f6 Fix bug which could cause dumpe2fs to rarely fail to print a UUID
uuid.c (e2p_is_null_uuid): Fix really stupid bug which could cause dumpe2fs
to fail to display a the journal or hash seed UUID.  (Thanks to Guillaume
Chambraud for pointing this out.)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-04-22 04:32:36 -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 292811f2aa Fix typo bug in previous commit (6ae1ed49c8c6)
"fd" should have been "probe.fd" so blkid/probe.c can compile without
errors.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-03-25 01:42:02 -05:00
Theodore Ts'o 2858c94e35 Fix file descriptor leak in blkid library in error paths
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-03-23 22:14:54 -05: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
Theodore Ts'o f4f425b20b Prevent error messages to stderr caused by libblkid calling libdevmapper
Make the libdevmapper fail quietly if blkid is called without root
privileges or the kernel does not include device mapper support.
(What is the device mapper _library_ doing writing to stderr, anyway?)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-03-19 15:26:26 -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 cbb7f9c4f1 Fix build when not building any shared libraries.
Add missing real-subdirs:: line to lib/Makefile.library, so there is a 
default definition of the real-subdirs target.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-03-17 21:59:13 -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 e324b25059 Fix blkid's last verification logic to work when the system clock is insane
Users have reported problems on newly installed systems when the
Macintosh's system clock battery is dead and the hardware clock is
returning a date of 1904.  Turns out there were some bugs in handling
dates before the Unix epoch.

Addresses Red Hat Bug: #182188

probe.c (blkid_verify): Fix the bid_time sanity checking logic,
	so that if last verification time is more recent than the
	current time, or the comparison between the last
	verification time and the current time causes an overflow,
	a device verification will take place.

devname.c (blkid_get_dev): Set the initial bid_time to be
	INT_MIN, to guarantee that blkid_verify will always be run
	even when the system clock is insane.

dev.c (blkid_debug_dump_dev), read.c (debug_dump_dev), 
	save.c (save_dev): Fix the printf format for dev->bid_time
	to match the fact that it is an signed type.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-03-12 23:25:15 -05:00
Theodore Ts'o 3f546fcc27 Fix the subdirs logic so it works with GNU make 3.80
The previous fix which fixed the problem with GNU make 3.81 building
all of the library object files caused GNU make 3.80 fail because the
subdirectories (such as elfshared) were not getting created.  This fix
should allow the Makefiles to work with both GNU make 3.80 and GNU
make 3.81.
2006-03-10 21:39:40 -05:00
Theodore Ts'o ba5e38494e Add EXT_JOURNAL to the blkid tag of ext3 filesystems.
If the filesystem has an external journal, store the UUID of the
external journal in the tag EXT_JOURNAL.

If the filesystem type has changed, clear all the tags on the device,
not just a preset list of LABEL, UUID, TYPE, and SEC_TYPE.

Fix a bug so that blkid_set_tag will work correctly when freeing a tag
when the input name parameter comes from the tag that we are freeing.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-03-10 18:11:35 -05:00
Karel Zak 4db2f59a71 Add device-mapper support to the blkid library
On systems where is multi-path storage device is problem with duplicated
filesystems. The solution is select "the best" device. This is possible
by device-mapper library.

Short quotation from RH bugzilla:

With my patch, all dm devices remains in libblkid cache.

Only the top level dm devices are given high priority
and more appropriate node names (i.e. /dev/mapper/*) are used.

For example, if we have linear mapped dm device "ov1" over
dm device "disk1p3" which is multipath mapped to /dev/sdd3 and /dev/sdh3:
  # dmsetup.static ls --tree
  ov1 (253:5) <-- /dev/mapper/ov1 or /dev/dm-5
   `-disk1p3 (253:4) <-- /dev/mapper/disk1p3 or /dev/dm-4
      `-disk1 (253:0)
         |- (8:112) <-- /dev/sdh
         `- (8:48) <-- /dev/sdd

Original version of blkid will show:
  # ./orig/blkid -t LABEL=mpdisk1p3 -l
  /dev/sdd3: LABEL="mpdisk1p3" ... TYPE="ext3"

With my patch, blkid will show:
  # ./deptree/blkid -t LABEL=mpdisk1p3 -l
  /dev/mapper/ov1: LABEL="mpdisk1p3" ... TYPE="ext3"

In blkid cache, all devices are listed:

  # ./orig/blkid -t LABEL=mpdisk1p3
  /dev/sdd3: LABEL="mpdisk1p3" ... TYPE="ext3"
  /dev/sdh3: LABEL="mpdisk1p3" ... TYPE="ext3"
  /dev/dm-4: LABEL="mpdisk1p3" ... TYPE="ext3"
  /dev/dm-5: LABEL="mpdisk1p3" ... TYPE="ext3"

  # ./deptree/blkid -t LABEL=mpdisk1p3
  /dev/mapper/ov1: LABEL="mpdisk1p3" ... TYPE="ext3"
  /dev/sdd3: LABEL="mpdisk1p3" ... TYPE="ext3"
  /dev/sdh3: LABEL="mpdisk1p3" ... TYPE="ext3"
  /dev/dm-4: LABEL="mpdisk1p3" ... TYPE="ext3"

For more details see discussion on:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=156324

Addresses Red Hat Bug: #156324

Signed-off-by: Karel Zak <kzak@redhat.com>
Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-03-08 14:17:28 -05:00
Theodore Ts'o 2adc320f01 Set FD_CLOEXEC on the /dev/random file descriptor used by libuuid
This avoids a fd leak across an execve() which was causing problems
for the LVM tools.

(Addresses Debian Bug: #345832)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-01-06 18:10:02 -05:00
Theodore Ts'o 02ef196210 Avoid needlessly recompilation of library objection files
Fixing the problem of parallel builds sometimes not creating the library
subdirectories caused library object files to get constantly recompiled.
Fix this by remaping how the Makefile subdirectories decide to create
the subdirectories.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-12-29 22:45:29 -05:00
Theodore Ts'o 438961210d Add missing parameter to error printf in blkid test program.
The blkid tag.c's test driver program had  a missing parameter to an 
error message printf.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-12-29 14:07:45 -05:00
Theodore Ts'o 3985754378 Use $(LDFLAGS) when generating shared libraries
Makefile.elf-lib, Makefile.solaris-lib: Add $(LDFLAGS) to the command line 
	argument when generating the shared library, to allow cross-compile 
	and other builds that might need to specify -L paths to needed 
	libraries.

Addresses Sourceforge Bug #1261549

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-12-10 22:33:25 -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
Theodore Ts'o 2f79e5193f Search the root directory of FAT filesystems for the label information
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-09-10 21:51:20 -04:00
Theodore Ts'o ca7498596f Generic blkid library cleanup
Change superblock and generic i/o functions to be more generic.  Clean
up interface to the probe function.  Fix memory leak.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-09-10 21:07:23 -04:00
Theodore Ts'o 1e5630abab Add a regression test suite for the blkid library
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-09-10 15:55:14 -04:00
Theodore Ts'o 45a3fa8738 Add support to extract basic iso9660 label information to the blkid library
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-09-10 15:46:57 -04:00
Theodore Ts'o bb626bcd54 Add support for detecting the reiser4 filesystem in the blkid library.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-09-10 11:48:38 -04:00
Theodore Ts'o 038d2bedaa Improve blkid's VFAT/FAT filesystem probe code
Collapse vfat and fat code and make it more paranoid when probing for
vat/fat filesystems.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-09-07 12:14:53 -04:00
Theodore Ts'o 45d1d889b9 Remove unneeded probe.h header file in lib/blkid/resolve.c
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-09-07 12:12:21 -04:00
Karel Zak c4c740ff48 Improve VFAT detection to support filesystems w/o a magic string in the superblock
The current libblkid code expects that there's magic string in FAT super
block (like "FAT12", "FAT16", ...). It's very often right, but valid FAT
super block may be without magic string too :-(

The patch from attachment fix this problem. It's inspired by HAL and
Linux kernel.

Signed-off-by: Karel Zak <kzak@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-09-06 08:13:35 -04:00
Karel Zak abaa11240a Add support for detecting software suspend partitions to blkid
Signed-off-by: Karel Zak <kzak@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-09-06 06:42:49 -04:00
Karel Zak 05a6edf4fd Fix blkid library so that the cache validation notices ext2 to ext3 conversion
There's mistake in blkid ext2 detection code. The libblkid doesn't
check for journal when revalidate the cache information about an ext2
device.

        # rm -f /etc/blkid.tab

        # mkfs.ext2 /dev/loop0 &> /dev/null
        # blkid -s TYPE /dev/loop0
        /dev/loop0: TYPE="ext2"

        # mkfs.ext3 /dev/loop0 &> /dev/null
        # blkid -s TYPE /dev/loop0
        /dev/loop0: TYPE="ext2"

That bug doesn't appear when libblkid creates new cache and checks for
all possible filesystems, because it tries ext3 before ext2. BUT when
the library only revalidate the cache it first probes for old cached
filesystem (e.g. ext2).

Signed-off-by: Karel Zak <kzak@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-09-06 06:26:45 -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
Theodore Ts'o 5bf9b4cd51 Fix com_err bug in compile_et: # of error messages can be wrong
Fixed bug where error messages using continuations wouldn't increment
the message count.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-07-19 08:24:59 -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
Theodore Ts'o 55080a7637 Fix blkid's debugging/TEST_PROGRAM code so that it is sufficiently
standalone that "make check" will compile without errors even  
when configure "--enable-blkid-debug" is not specified.
2005-06-27 13:54:08 -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 d51b819e54 error_message.c, init_et.c: Segregate error tables registered
via add_error_table() and the other dynamic methods from
	the ones allocated via initialize_xxx_error_table() so
	that we won't fail even for error tables created using old
	versions of compile_et.  Thanks to Nalin Dahyabhai for
	this suggested patch.
2005-06-20 17:59:06 -04:00
Theodore Ts'o e7d32fcb56 et_c.awk: Use a dynamically allocated structure in
initialize_xxx_error_table(), to prevent segfaults if an
	old library calls initialize_xxx_error_table, and another
	library/application calls add_error_table() on the same
	error table, and then calls remove_error_table().
	(Addresses Sourcefroge Bug #1150146)
2005-06-20 16:24:04 -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 7d9adefed8 Makefile.in: Add an include path specifier when building
tst_ostype so that "make check" will build correctly on
	systems without the include files from e2fsprogs installed
	in the system include directory.
2005-06-16 18:41:06 -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 ed6acfa337 Add a new option to the blkid program, -l, which will more efficiently search
for a single device.

Add a new function to the blkid library, blkid_probe_all_new().

Optimize blkid_find_dev_with_tag() so that extraneous device validation are
skipped.  (Makes a difference for system with a large number of disks).
2005-05-07 17:06:27 -04:00
Theodore Ts'o 12b3c8ec1d Fix gcc -Wall nits in the blkid library. 2005-05-07 14:38:10 -04:00
Theodore Ts'o 78c7d0efae Clean up the debugging code in the blkid library so that we don't use
the inline functions DEB_DUMP_* and instead use the private functions 
blkid_debug_dump_*().
2005-05-07 14:22:38 -04:00
Theodore Ts'o c37543df2f Add new two new functions to the blkid library: blkid_dev_set_search(), and
blkid_dev_has_tag(), and change the blkid program to take advantage of these
functions.
2005-05-07 13:32:47 -04:00
Theodore Ts'o 153b4495c1 If the .c and .h file already exist, and they have not changed, use the
original versions of the files, so as to avoid rebuilding files when not
necessary.  Also fixes a potential SMP/Parallel build problem when one 
make process runs compile_et to generate the .h file, and a partially
generated .c file is compiled by another make process.  (Addresses
Sourceforge Bug: #1157933)
2005-05-06 09:42:34 -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 9be5ba91b8 Fix build of tst_ostype when doing a "make check" in lib/e2p; it was missing
CFLAGS in the compile rule.  (Addresses Sourceforge Bug: #1180572)
2005-05-06 00:38:26 -04:00
Theodore Ts'o 4c4e3f7843 Fix libblkid's magic number recognition for the cramfs filesystem,
and add support to pull out the label for cramfs filesystems.  
Thanks to Karel Zak (kzak at redhat.com) for the patch.
2005-05-05 18:06:04 -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 b7e4eef304 ls.c: Add stdlib.h header file since list_super2() uses the
free() function.
2005-04-09 01:22:09 -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 813b901d41 ostype.c (e2p_os2string): Check to make sure malloc() is
successful before attempting to copy into it.  Add
	#include of stdlib.h to fix a core dump bug on the IA64
	architecture.  (Addresses Debian Bug #302200)
2005-03-31 00:01:33 -05:00
Theodore Ts'o fd4b28efd3 Update for the e2fsprogs 1.37 release. 2005-03-21 22:37:03 -05:00
Theodore Ts'o 65ffef3689 Ignore the BLKID_FILE environment variable if blkid_get_cache() is
called from a setuid program.
2005-03-21 22:13:32 -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 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 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 b22ea17742 getsize.c (blkid_get_dev_size): Fix compilation problem on
Darwin systems.
2005-03-16 23:38:14 -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 dbe9c71a17 Use inline instead of __inline__ in the blkid debugging code for
Solaris compatibility.
2005-02-03 22:09:49 -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 18d1296333 blkid.c (main, compare_search_type): Make blkid -t work more
consistently when the blkid cache file is explicitly set
	to /dev/null.  (Addresses Debian Bug #292425)

Also expose blkid_verify() as a public function to the blkid library.
2005-01-27 19:51:47 -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 32923fa402 Add functions which allow an application program to do a run-time query
of the version of the blkid library.
2005-01-26 13:16:06 -05:00
Theodore Ts'o f923bf2a81 Fix "make uninstall" to make sure it removes everything that is installed. 2005-01-26 13:03:55 -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 9d0f46169f probe.c: Windows can perform a "quick format" that doesn't clear
enough of the partition that the blkid probes can get
	confused.  Do the NTFS test first to deal with this
	Windows misfeature.  (Addresses Debian Bug #291990)
2005-01-25 03:26:10 -05:00
Theodore Ts'o 2c92375ea4 Add support to the blkid library to recognize Oracle ASM volumes. 2005-01-21 17:57:56 -05:00
Theodore Ts'o c6cdada26f Fix stupid typo in the CreateOS FreeBSD/Solaris changeset. Also included
changelogs which I forgot to include in the changeset.
2005-01-19 19:30:01 -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 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 32237014a1 Various portability fixes for Solaris systems. 2005-01-17 19:13:39 -05:00
Matthias Andree f892826b8d lib/blkid/getsize.c: Move #include "blkidP.h" before <sys/queues.h>
to avoid a clash with the LIST_HEAD in the latter file that results
in compilation failure.
2005-01-13 04:15:45 +01:00
Matthias Andree d34588265c we're reading unsigned long long, use %llu rather than %lld. 2005-01-12 22:58:33 +01:00
Theodore Ts'o 7369f0ce5f Apply Janos Farkas's patch to support extracting the uuid and label
information from swap partitions.

Also make sure that if a partition has a label removed, that the label is
removed form the blkid cache as well.

Add support for detecting 32k and 64k pagesize swap files.
2005-01-10 23:58:11 -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 69f83f40bd Add imap_err.et to the lib/et regression test suite. 2005-01-06 00:16:03 -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 2e6a9febb4 Adjust blkid library so that it returns vfat in preference to msdos so
that mount will try to use the vfat filesystem.  (Addresses Debian bug #287455)

Similarly, the blkid library will now return an ext3 type for ext 2/3 
filesystems that have the journal capability set.

We allow files to be probed by the blkid library, to make it easier to
test the library.  However, we also added safety checks to avoid saving
relative pathnames to blkid.tab, and probe_one() will only check block device
files.
2005-01-05 17:45:32 -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 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 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 faeaf93752 Dumpe2fs will print the s_reserved_gdt_blocks field if it is non-zero.
(Change to libe2p's list_super2() function.)
2004-12-23 07:47:12 -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 3838f7df13 Avoid using uint and uchar types when probing for ocfs2 filesystems
in the blkid library, to allow compilation using dietlibc.
2004-11-30 19:05:38 -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 921f4ad536 Remove support for EVMS 1.x plugin library. 2004-11-19 17:25:27 -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 4b8f81aace probe.c (probe_ocfs): Fix bug where the wrong size for "ocfs1"
was being passed to blkid_set_tag().  Thanks to Andrea
	Dilger for pointing this out.
2004-11-19 14:28:01 -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 414846b126 Add support for ocfs2 detection to the blkid library,
courtesy of manish.singh@oracle.com
2004-09-17 21:37:49 -04:00
Theodore Ts'o 9ee42c9509 gen_uuid.c (get_node_id): glibc always defines AF_LINK, so only
try to use struct sockaddr_dl if HAVE_NET_IF_DL_H is
	defined.  (Addresses Debian Bug #256669)
2004-09-17 20:38:27 -04:00
Theodore Ts'o 56eb4d4749 Remove XSI:isms for greater portability. (Addresses
Debian Bug #255589)
2004-09-17 19:54:22 -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 919994abc0 setflags.c, fsetflags.c: On linux systems, undefine HAVE_CHFLAGS
to deal with lame glibc's that define this function
	without actually implementing it.  Can you say "attractive
	nuisance", boys and girls?   I knew you could!  (Thanks to
	Pavel Troller for reporting this braindamage.)
2004-06-25 00:52:08 -04:00
Theodore Ts'o 37a1ee9b99 uuid.h (UUID_DEFINE): Make the UUID defined as a static
variable, with __attribute__ ((unused)) if we are using GCC.
2004-05-27 20:24:52 -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 1b510f57f4 read.c (blkid_read_cache): Add missing fclose() which was
causing a memory and file descriptor leak.  Thanks to
	magnus.fromreide at teligent.se.
2004-05-15 17:27:43 -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 6d4934974f Update and clean up uuid man pages, including renaming libuuid.3 to
uuid.3

Eliminate empty lines at end of uuid.h
2004-05-04 22:05:05 -04:00
Theodore Ts'o d1492994a5 gen_uuid.c (uuid_generate_time): Mask off the timestamp to avoid
a Y8.8888K problem.
2004-05-04 20:51:02 -04:00
Theodore Ts'o 7ce0806406 probe.c (blkid_verify_devname): If the time is earlier than the
last modified time of the device, then force a reverify;
	it means the system time may not be trustworthy.
2004-04-19 21:42:18 -04:00
Theodore Ts'o ebfd60f185 Clarified that the lib/uuid directory is under a BSD-style and
referred the reader to lib/uuid/COPYING, a new file.
2004-04-12 13:19:21 -04:00
Theodore Ts'o 7a3a386b9e In the blkid library, if the BLKID_FILE environment
variable is set, use it to find the blkid.tab file if the
calling application did not supply a filename.
2004-04-12 07:26:23 -04:00
Theodore Ts'o dd60705665 Refine the build process to avoid re-running subst all the time on
some generated files, by having subst update the modtime on these 
files even when the generated file hasn't changed.  We do this with 
generated files that do not have any downstream dependencies.
2004-04-03 13:53:46 -05:00
Theodore Ts'o 9dd97ae37d Change licensing of libuuid man pages from GPL to 3-clause BSD-style,
with permission from Andreas Dilger (the original author of the man
pages), email dated Mon, 29 Mar 2004 23:11:53 -0700, Message-ID
20040330061153.GD1177@schnapps.adilger.int.
2004-04-03 11:24:10 -05:00
Theodore Ts'o 31808116a1 Change the use of the term "internal format" to "binary representation"
in the uuid_parse and uuid_unparse man pages.
2004-04-03 10:48:25 -05: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
Theodore Ts'o 13be1fff00 gen_uuid.c (get_node_id): Clean up AF_LINK #ifdef's for Darwin. 2004-03-30 01:32:31 -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 d3d741fc38 Add the uuid_unparse_upper and uuid_unparse_lower functions to the
uuid library.
2004-03-22 16:22:28 -05:00
Theodore Ts'o 1cdb6f7602 Don't close the file descriptor when determining the size.
This bug was introduced in the previous getsize changes, 
and was screwing up the blkid library probe functions.
(Addresses Debian Bug #239191)
2004-03-21 20:16:19 -05:00
Theodore Ts'o 1bbfec624c Change the license on the UUID library to be 3-clause BSD-style 2004-03-20 14:02:24 -05:00
Theodore Ts'o 880f30a7eb Add UUID type #define's, and add an CPP macro to define
UUID constants.
2004-03-19 21:54:13 -05:00
Theodore Ts'o a5aa379710 Use 14 bits for the clock sequence, instead of just 13 bits when
generating UUID's.
2004-03-19 19:56:55 -05:00
Theodore Ts'o 84ea6e70b7 Fix Darwin/Mac OS X support to fetch the ethernet address in the uuid library. 2004-03-19 19:29:17 -05: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 9387c281ef probe.c (probe_ocfs), probe.h: Add support for the Oracle
Cluster Filesystem (ocfs).  Patches courtesy of Rusty
	Lynch (rusty@linux.co.intel.com).
2004-03-04 19:59:58 -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 3c203cb683 fgetflags.c, fgetversion.c, fsetflags.c, fsetversion.c: Apply
patch from Brian Bergstrand to support ext2_ioctl() in
	Darwin.  This is implemented via the fsctl system call.
2004-01-31 21:16:35 -05:00
Theodore Ts'o 9c5534d484 gen_uuid.c (uuid_generate_time): Fix bug pointed out by Ralf
S. Engelshall; when generating a random ethernet address
	because one is not available, set the least significant
	bit of the first byte of the MAC address, since it is the
	first bit to be transmitted, and is therefore the
	multicast bit.
2004-01-30 02:07:13 -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
Matthias Andree b969b1b8a5 Fix more compiler warnings. 2003-12-28 13:04:35 +01:00
Theodore Ts'o 09e7220f62 com_err.3: Fix C syntax error pointed out by ESR. 2003-12-11 11:24:44 -05:00
Theodore Ts'o 544349270e Fix gcc -Wall nitpicks 2003-12-07 01:28:50 -05:00
Theodore Ts'o 068cab5bd1 et_c.awk: Add declaration of the Heimdal initialization routine
to avoid gcc -Wall complaints

(Incomplete checkin --- see previous changeset as well)
2003-11-28 09:38:13 -05:00
Theodore Ts'o 52501d440d et_c.awk: Add declaration of the Heimdal initialization routine
to avoid gcc -Wall complaints

Rename test cases to spell Heimdal correctly (only one 'l').
2003-11-28 09:36:37 -05:00
Theodore Ts'o 2540bb79b7 com_err.h, com_err.c: Use GCC attributes to mark com_err and
default_com_err_proc as taking printf-style format
	strings.
2003-11-26 23:19:28 -05:00
Theodore Ts'o 8ce230959c com_err.h: Retore the type of n_msgs in the error_table
structure to "int" from "unsigned int" fix a core dumping 
	bug in the com_right() function.  (Addresses Debian bug 
	#213450)
2003-11-22 13:54:38 -05:00
Theodore Ts'o ef344e13d2 Centeralize calculation of which blocks are reserved/used for
the superblock and block group descriptors into two functions:
ext2fs_reserve_super_and_bgd, found in lib/ext2fs/alloc_sb.c, and
ext2fs_super_and_bgd_lock, found in lib/ext2fs/close.c.

Change e2fsck/pass1.c (mark_table_blocks), lib/ext2fs/closefs.c
(ext2fs_flush), lib/ext2fs/initialize.c (ext2fs_initialize),
and misc/dumpe2fs.c (list_desc) to use these functions.

e2fsck/ChangeLog
    pass1.c (mark_table_blocks): Use the new function
    	ext2fs_reserve_super_and_bgd to calculate the blocks to be
    	reserved.

lib/ext2fs/ChangeLog
    closefs.c (ext2fs_super_and_bgd_loc): New function which
    	centralizes the calculation of the superblock and block
    	group descriptors.
    	(ext2fs_flush): Use ext2fs_super_and_bgd_lock to figure
    	out where to write the superblock and block group
    	descriptors.
    
    alloc_sb.c (ext2fs_reserve_super_and_bgd): New function which
    	reserves space in the block bitmap using
    	ext2fs_super_and_bgd_loc.
    
    initialize.c (ext2fs_initialize): Use
    	ext2fs_reserve_super_and_bgd to initialize the block bitmap.

misc/ChangeLog
    dumpe2fs.c (list_desc): Use ext2fs_super_and_bgd_loc to
    	determine the locations of the superblock and block group
     	descriptors.
2003-11-21 09:02:21 -05:00
Theodore Ts'o a435ec3449 Add support for backing up the journal inode location in the
superblock.  E2fsck will automatically save the journal information
in the superblock if it is not there already, and will use it if the
journal inode appears to be corrupted.  ext2fs_add_journal_inode() 
will also save the backup information, so that new filesystems
created by mke2fs and filesystems that have journals added via
tune2fs will also have journal location written to the superblock as
well.  Debugfs's logdump command has been enhanced so that it can
use the journal information in the superblock.

The debugfs man page has been improved to more fully describe the
logdump command.

Added two new functions, ext2fs_file_open2() and 
ext2fs_inode_io_intern2() which take a pointer to an inode structure;
this is needed so that e2fsck and debugfs can synthesize a
fake journal inode and use it to access the journal.
2003-08-21 00:40:26 -04:00
Theodore Ts'o 51bc084517 Makefile.in: Delete com_err.info on a make clean
testcases: Update to reflect fixed prototype for
	initialize_xxx_err_table_r.
2003-08-20 12:54:31 -04:00
Theodore Ts'o 924b083a3e et_h.awk: Fix wrong prototype for initialize_xxx_err_table_r.
(Thanks to Gombas Gabor for pointing this out, addresses
	Debian bug #204332)
2003-08-19 08:36:48 -04:00
Theodore Ts'o 74832b53a0 fs_ext2.c (fs_cleanup, fs_init_task, fs_set_volumes): Use an
ugly union to fix pointer aliasing problems in lib/evms.
2003-08-01 11:02:24 -04:00
Theodore Ts'o c4e3d3f374 ext2fs_getmem(), ext2fs_free_mem(), and ext2fs_resize_mem()
all now take a 'void *' instead of a 'void **' in order to 
avoid pointer aliasing problems with GCC 3.x.
2003-08-01 09:41:07 -04:00
Theodore Ts'o 44104b2b37 Add Heimdal compile_et extensions from Philipp Thomas <pthomas@suse.de> 2003-08-01 08:59:40 -04:00
Theodore Ts'o 9c7ec17809 Update for 1.34 release. 2003-07-26 01:03:34 -04:00
Theodore Ts'o c6df04bbdb Update makefile dependencies. 2003-07-23 09:53:06 -04:00
Theodore Ts'o 3de5bf6106 probe.c (probe_udf): Add specific UDF probing code, and probe
UDF before checking for ISO9660 filesystems.
2003-07-22 01:06:36 -04:00
Theodore Ts'o 78e2edf796 probe.c (blkid_known_fstype): New function which returns true if
the filesystem type is one which this blkid library supports.
2003-07-21 19:42:19 -04:00
Theodore Ts'o a30b9446d1 probe.c: When revalidating a filesystem in the blkid library,
delete the LABEL tag if the filesystem no longer has a label.
2003-07-20 11:22:34 -04:00
Theodore Ts'o 849c610250 tag.c (blkid_find_dev_with_tag): If blkid_probe_all() returns an
error, then reflect that error upwards; don't try again
	(forever).  This prevents an infinite loop when /proc and
	the /etc/blkid.tab file are not present.
2003-07-18 19:10:28 -04:00
Theodore Ts'o 48e6e81362 Fixx gcc -Wall nitpicks. 2003-07-06 00:36:48 -04:00
Theodore Ts'o 7d7bdd578b Fix bug in resize2fs which caused it to fail on filesystems with a
non-empty bad block list.  Resize2fs now discards any blocks on the 
badblock list which are no longer part of the filesystem as the result
of a filesystem shrink.  (Note: this means that shrinking and then
enlarging a filesystem is no longer a reversible operation;
information about bad blocks in the part of the filesystem
which is to be chopped off will be lost.)
2003-06-24 17:34:02 -04:00
Theodore Ts'o d339f2684d Makefile.in (ELF_OTHER_LIBS): The blkid library depends on the
uuid library.  (Addresses Debian bug: #194094)
2003-05-21 17:56:36 -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