Commit Graph

1013 Commits (0eeec8ac61bf1eaa31533b2be825cd75580829c9)

Author SHA1 Message Date
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
Theodore Ts'o 813bde19f5 Add package dependency to shlibs for comerr to indicate support
for kth compatibility.  (Closes Debian bug #193096)
2003-05-13 23:53:20 -04:00
Theodore Ts'o b8a953157b unix_io.c: Add #ifdef NO_IO_CACHE which disables all userspace
caching by the unix_io layer.  Not enabled, only for
	debugging.
2003-05-13 23:41:29 -04:00
Theodore Ts'o 58f9d9e679 Update debian changelog.
Declare comerr-dev as replacing << e2fslibs-dev 1.33-2, to avoid
        errors when upgrading to the new versions of comerr-dev and
        e2fslibs-dev

Declare init_error_table as taking a long for the second argument.
2003-05-06 00:31:55 -04:00
Theodore Ts'o d03550970c Add full Heimdall compatibility. 2003-05-05 23:07:32 -04:00
Theodore Ts'o b16fb628bf Update Debian changelog.
Add support for OV-style continuation (closes Debian bug #191900).

Move /usr/include/com_err.h from the e2fslibs-dev package to the 
comerr-dev package.  (closes Debian bug #191899)
2003-05-05 20:02:39 -04:00
Theodore Ts'o c62dbdb9ec Stupid think-o bugfix in test_io.c: Don't close data->outfile
if it is stderr.
2003-05-05 19:50:49 -04:00
Theodore Ts'o 2a29f1354f Add --enable-test-io-debug configure option which causes e2fsck and
tune2fs to use the test I/O manager.

The test I/O manager has been changed to not do anything extra by 
default, unless the TEST_IO_FLAGS and/or TEST_IO_BLOCK environment
variables are set, which controls what I/O operations are logged and
a block number to watch, respectively.  The log messages are sent to
stderr by default, unless a filename is specified via the 
TEST_IO_LOGFILE environment variable.
2003-05-05 12:08:47 -04:00
Theodore Ts'o 68dbdc2f1d tst_badblocks.c (file_test): Use tmpfile() instead of mktemp(). 2003-05-03 16:39:50 -04:00
Theodore Ts'o 05a27b1d34 getsize.c (ext2fs_get_device_size): Allow windows code to get
the resize for filesystems that are in regular files.
2003-04-29 21:10:15 -04:00
Theodore Ts'o 71df0dc393 Update for 1.33 release.
Fix typo's in README.subset

Change debian control file so it doesn't bomb out if the EVMS FSIM
is not there, since it is not built on the Hurd.  Resolves Debian
bug #189687.
2003-04-21 16:17:09 -04:00
Theodore Ts'o afb6d709ba Use DYLD_LIBRAY_PATH so that "make check" works on
Darwin systems when building with shared libraries.
2003-04-21 16:12:34 -04:00
Theodore Ts'o 520ead378e Fix gcc -Wall warnings. 2003-04-19 13:48:27 -04:00
Theodore Ts'o a85e81a2ff configure.in: Remove CYGWIN definition; we will use the
automatically defined __CYGWIN__ instead.
2003-04-18 07:22:01 -04:00
Theodore Ts'o c6928406b3 Add Cygwin/Windows version of ext2fs_get_device_size() 2003-04-17 22:06:46 -04:00
Theodore Ts'o fff45483ed Add portability enhancements for Cygwin32 environment. 2003-04-13 00:44:19 -04:00
Theodore Ts'o 2c93113e6a Remove EXT2_FEATURE_RO_COMPAT_BTREE_DIR mention of since it's not
actually used, and may confuse people who are looking for
EXT2_FEATURE_COMPAT_DIR_INDEX, which is in use.
2003-04-11 13:26:21 -04:00
Theodore Ts'o 9d51b6191b Use the SS_READLINE_PATH environment variable to control the search
for a suitable readine library.  As a default, try using libreadline,
libedit, and libeditline.
2003-04-11 12:56:27 -04:00
Theodore Ts'o 085c2af234 Import bug fixes from EVMS 2.0 tree.
Fixed possible hangs caused by bugs in calling waitpid, and not
setting the pipe to non-blocking mode.  Also fixed a file descriptor
leak.  Made sure all functions call log entry/exit functions.
2003-04-03 20:09:19 -05:00
Theodore Ts'o edab294f1c gen_uuid.c (get_random_bytes): Always xor in a stream of bytes
from the system PRNG (i.e., random/srandom, seeded from
	the time, pid, and uid) in case /dev/random isn't doing
	the right thing on a particular system.  It doesn't hurt,
	and it can help, in the case of a buggy /dev/random.
2003-04-03 08:25:15 -05:00
Theodore Ts'o 09a2ef8dda Fix XFS superblock definition. Add support to
extract UUID and labels for JFS and romfs.  (Thanks to
Janos Farkas <chexum@acomp.hu>.)
2003-04-03 00:04:28 -05:00
Theodore Ts'o 72d272a5d1 Update dependencies of ss/Makefile 2003-03-30 23:29:18 -05:00
Theodore Ts'o 0faabe5dea getsize.c: #include stat.h for the Apple Darwin port 2003-03-30 23:08:32 -05:00
Theodore Ts'o 91835c151f Change compile_et to generate header files that use <et/com_err.h>
instead of <com_err.h>, so the current version of the header file 
is used.

Add a --build-tree option to compile_et to make sure that it uses
the et_?.awk files from the build tree.

Remove legacy support for varargs.h, K&R C, and pre-POSIX signal 
support.  Also fixed gcc -Wall nits.
2003-03-30 22:26:13 -05:00
Theodore Ts'o 00aba96743 com_err.h, error_table.h: Move definition of the error_table
structure from the internal error_table.h to com_err.h,
	since it now needs to be public.

et_c.awk, et_h.awk: Import changes from krb5's et library so
	that the error_table structure is defined and available
	publically.

error_message.c: Import krb5 and heimdall com_err extensions to
	the et library.
2003-03-19 19:46:02 -05:00
Theodore Ts'o 88fe61c7c3 cache.c: Initialize blkid_debug_mask to zero since some
operating systems can't deal with variables in the common
	section in shared libraries.
2003-03-17 18:13:57 -05:00
Theodore Ts'o 9522e0aa04 ls.c (list_super2): Display the superblock fields even if the
journal or the dir index feature is not enabled.
2003-03-17 13:53:38 -05:00
Theodore Ts'o aa75ecccab Fix the Apple Darwin port. 2003-03-17 10:01:22 -05:00
Theodore Ts'o 6cca7ba96d Update dependency information in Makefiles 2003-03-16 20:21:16 -05:00
Theodore Ts'o 6fe7d1156a Update debian files to support the blkid library, and to fix a number
of Lintian warnings.

Added mk_cmds man page.
2003-03-16 19:58:25 -05:00
Theodore Ts'o 3ae497eab2 Add to the ss (subsystem) library the ability to dynamically link
to the readline library if it is present in the system.
2003-03-16 06:26:25 -05:00
Theodore Ts'o e71d87317a Add Apple/Darwin patches. 2003-03-14 02:13:48 -05:00
Theodore Ts'o 220c0040fb badblocks.c (ext2fs_u32_list_count), ext2fs.h: Add new function
which returns the number of entries in the list.
2003-03-14 00:59:42 -05:00
Theodore Ts'o 20754488a2 fileio.c (ext2fs_file_lseek): Fix bug added when adding 64-bit
support; avoid null dereference when ret_pos is NULL.
2003-03-10 14:32:09 -05:00
Theodore Ts'o cd0d521b82 Fix bug; if a partition has no known type, don't derference a null
pointer and crash.
2003-03-06 12:58:03 -05:00
Theodore Ts'o ed78c021c3 Fix up lots of portability problems that caused e2fsprogs not to build successfully
under Solaris.
2003-03-06 11:09:18 -05:00
Theodore Ts'o 94ba8c7506 Changes to create a subset distribution which consists only of the
et, ss, uuid, and blkid libraries.  The configure script and top-level 
makefile were changed to support working with a subset distribution.
2003-03-02 02:07:14 -05:00
Theodore Ts'o 7e89304878 tag.c (blkid_set_tag): Fix bug; don't return an error when
deleting a tag by setting the value to NULL.  This
	caused a failed device verification to loop forever in
	blkid_verify_devname().
2003-03-01 22:57:31 -05:00
Theodore Ts'o 2859522002 Update libblkid documentation.
Fix tst_resolve to use latest blkid API's.
2003-03-01 20:01:27 -05:00
Theodore Ts'o ed1b33e8fb Minor bug fixes in the blkid library.
Convert mke2fs, fsck, and tune2fs to use the blkid library.
2003-03-01 19:29:01 -05:00
Theodore Ts'o 1549a44762 resolve.c (blkid_get_tag_value): Rename function (used to be
blkid_get_tagname_devname)
2003-02-27 19:33:36 -05:00
Theodore Ts'o 79dd234a79 Internal changes to the blkid library:
1) Only one tag with a particular name can be attached to a device
at a time.  This significantly simplifies the library, and was needed
to allow the cache file to be re-read and changes integrated into the 
in-core version of the data structure in a simpler fashion than earlier
versions of the library. 

2)  To accomodate this, the ext2/ext3 filesystems are now always tagged
as "ext2" type filesystems.  Ext3 filesystems are tagged with a 
SEC_TYPE tag with the value ext3.

3)  The new blkid_read_cache() function checks the mod time of the
cache file, and if the file has been changed since the last time the
cache file was read into memory, it is re-read.  This function is now
called before probing all of the devices in the system or searching
all devices in the cache for a specific tag value.

4)  After probing all devices, blkid_flush_cache() is called to write
out the cache file.  This assures that all of the hard work involved
in doing a blkid_probe_all() is saved to disk.
2003-02-22 17:15:20 -05:00
Theodore Ts'o f0a22d0fd3 Add dynamic debugging capabilities to the blkid library,
controlled by the environment variable BLKID_DEBUG. The debugging
code is enabled by a new configuration option, --enable-blkid-debug.
2003-02-22 13:19:53 -05:00
Theodore Ts'o 98999c399d Rename blkid_get_devname() to blkid_get_dev(), and blkid_get_token()
to blkid_get_devname().
2003-02-16 00:47:07 -05:00
Theodore Ts'o bc40efd3d0 Remove bid_id from the blkid device structure, as it is not used
for anything.
2003-02-14 01:40:23 -05:00
Theodore Ts'o ce72b862c5 Add a priority label to the device structure, so we can give
preference to EVMS and LVM devices when searching for a device
matching a particular LABEL or UUID in the blkid library.
2003-02-14 01:31:45 -05:00
Theodore Ts'o 50b380b4d4 Wholesale changes to blkid library to simplify the implementation
and shrink its size.  Change library version to be 1.0.
2003-02-12 23:51:21 -05:00
Theodore Ts'o 76b07bb1bc Roto-till and clean up libblkid API.
read.c (parse_tag): Do not return that blkid_tag when parsing
	the blkid.tag file.

resolve.c (blkid_get_token, blkid_get_tagname_devname): Fold in
	code from removed functions

tag.c (blkid_create_tag): Don't return the newly tag strcture
	any more, as it's not needed.
	(blkid_find_tag_cache, blkid_get_tag_cache,
	 blkid_token_to_tag, blkid_find_tv_tags): Remove these 
	functions, as they are either only used once or have
	interfaces that should be deprecated.
	(blkid_find_tag_dev, blkid_find_head_cache): Replace use
	of blkid_tag with one or two const char * type/value
	arguments.
	(blkid_find_dev_with_tag): Fold in code from removed functions

probe.h, probe.c: Use a more sophisticated set of byte-swapping
	routines which are more compact and efficient.  Drop
	calculation of bid_free, since it's unnecessary.  Avoid 

save.c (blkid_save_cache): Set the permissions on the blkid
	cache file to 644.
2003-01-27 01:09:24 -05:00
Theodore Ts'o 7a603aa89f Separate public and private interfaces into separate header files.
Start separating internal implementation details from the
publically exported interface of the blkid library.
2003-01-26 01:54:39 -05:00
Theodore Ts'o 0f3ac480c7 devname.c: Add support for EVMS to the blkid library. 2003-01-25 18:44:33 -05:00
Theodore Ts'o d3f917989b Fix gcc -Wall nits. 2003-01-25 00:26:48 -05:00
Theodore Ts'o 3a1d6f3cc0 save.c (blkid_save_cache): Use mkstemp() instead mktemp(). 2003-01-24 23:11:29 -05:00
Theodore Ts'o e12f2ae74c Integrate new blkid library. 2003-01-23 16:45:16 -05:00
Theodore Ts'o 23b7c8b886 unix_io.c (unix_write_blk): Fix up GCC -Wall nits. 2003-01-22 18:30:01 -05:00
Theodore Ts'o 819157db79 Remove 32-bit limitations for debugfs's dump command and to the
ext2fs library's ext2fs_file_read.
2003-01-22 18:25:39 -05:00
Theodore Ts'o 4564c727e9 initialize.c (ext2fs_initialize): If the user specifies a really
large number of inodes, then reduce the number of blocks
	per group until we find a workable set of filesystem
	parameters.

ext2_err.et.in (EXT2_ET_TOO_MANY_INODES): Add new error code.
2003-01-19 21:01:22 -05:00
Theodore Ts'o 38513011b9 Update files for 1.32 release. 2002-11-09 15:00:56 -05:00
Theodore Ts'o 82c4660c75 unix_io.c (find_cached_block, reuse_cache, unix_read_blk,
unix_write_blk): Optimize routines so that we don't end up
	searching the cache twice when a block isn't in the
	cache.  If reads are larger than READ_DIRECT_SIZE, don't
	let them go through the cache.
2002-11-09 14:56:17 -05:00
Theodore Ts'o 1d47dfb91e unix_io.c (find_cached_block): Fixed bug which caused some clean
blocks to be erroneously marked as dirty, so they would
	get written back to the disk before they are evicted from
	the cache.  Harmless, but it slows down e2fsck
	significantly.
2002-11-09 10:33:49 -05:00
Theodore Ts'o ae65b29f11 Update files for 1.31 release. 2002-11-08 20:08:48 -05:00
Theodore Ts'o c4e5e36a40 pf.c: Print the indexed directory flag if present. Don't display
all of the compression flags unless compression support has
	been enabled.
2002-11-08 19:12:48 -05:00
Theodore Ts'o 3f9f271075 Missed a EVMS 1.2 ABI fixup. 2002-11-08 15:25:57 -05:00
Theodore Ts'o feb44c6955 Skip byteswap tests on --disable-swapfs
Disable certain tests that depend on the byteswapping functions
being present so that "make check" succeeds even if --disable-swapfs
is passed to the configure script.
2002-11-08 14:55:38 -05:00
Theodore Ts'o f606dd32ff Update "make depend". 2002-11-08 14:31:03 -05:00
Theodore Ts'o 3a68a67990 fs_ext2.c (fs_expand, fs_shrink),
fsimext2.c (fsim_mkfs, fsim_fsck): Inform the user if e2fsck, 
	mke2fs or resize2fs dies with a signal, or if the exit 
	with a non-zero exit status.
2002-11-08 14:10:15 -05:00
Theodore Ts'o 88888f159a fsimext2.c (set_mkfs_options): If the hard sector size is 1024,
don't force a blocksize of 1024; there's no need to do so.
2002-11-08 14:01:07 -05:00
Theodore Ts'o 420053aa65 Default the EVMS_ABI_CODE if it is not defined to 1.2.0. 2002-11-08 13:59:11 -05:00
Theodore Ts'o a9d799a01d Update EVMS plugin to support EVMS ABI 1.2 2002-11-08 13:50:51 -05:00
Theodore Ts'o 1f6169c31b fsimext2.c (set_mkfs_options): Synchronize with EVMS CVS rev
1.7 (2002/09/11): Add a hack to force mkfs won't a 
	blocksize equal to the hardsector size if it is larger
	than 512 bytes.
2002-11-08 12:26:37 -05:00
Theodore Ts'o d5f445c603 Synchronize with EVMS CVS. Add better error handling
for child processes that die unexpectedly.
2002-11-08 12:07:21 -05:00
Theodore Ts'o d894e8b858 fs_ext2.c (fs_expand): Synchronize with EVMS CVS rev 1.12
(2002/08/28): Use the EVMS_IS_MOUNTED macro.
2002-11-08 11:57:14 -05:00
Theodore Ts'o 2993bf7d3c fs_ext2.c (fs_expand, fs_shrink): Synchronize with EVMS CVS rev
1.11 (2002/8/27).  Read from the resize2fs output in 
	non-blocking mode, so the GUI continues to updates the window.
2002-11-08 11:54:29 -05:00
Theodore Ts'o 758ab678d8 fsimext2.h: Synchronize with EVMS CVS rev 1.8 (2002/8/29).
Change all __uXX's to u_intXX_t's.
2002-11-08 11:46:22 -05:00
Theodore Ts'o bfd418832d closefs.c (write_bgdesc, ext2fs_flush): Fix bug in meta_bg
support when the MASTER_SB_ONLY flag is set.  Some of
	the descriptor blocks that should have been written out
	were getting skipped.
2002-11-08 09:21:46 -05:00
Theodore Ts'o 5d823a478f Update files for 1.30 release. 2002-11-01 02:13:53 -05:00
Theodore Ts'o a2c8bf9483 ext2_fs.h: Add support for a new inode flag, which is to be used
for indicating the top of directory hierarchies for the
	Orlov block allocator.
2002-11-01 02:01:41 -05:00
Theodore Ts'o 15f9011add Add support for a new inode flag, which is to be used
for indicating the top of directory hierarchies for the
Orlov block allocator.
2002-11-01 01:53:52 -05:00
Theodore Ts'o 61bee88d45 gen_uuid.c (get_random_bytes): Don't spin forever if read()
returns EINTR or EAGAIN, so that when /dev/random is
	opened O_NONBLOCK, we don't end up spinning forever.
2002-10-31 15:17:16 -05:00
Theodore Ts'o 3a42fe220c ismounted.c (check_mntent, check_mntent_file): Add better
support for loopback-mounted filesystems.  Check /etc/mtab
	if /proc/mounts doesn't turn up any mount flags, since
	/etc/mtab has the loopback image filename, instead of
	/dev/loop0.  Also, check based on st_dev and st_ino, so
	that if a relative pathname or a pathnames using symbolic
	links are used, we can detect the the filesystem correctly
	in those cases.  (Addresses Sourceforge bug #619119)
2002-10-31 13:23:37 -05:00
Theodore Ts'o 55ca9ae5ec flushb.c (ext2fs_sync_device): If the BLKFLSBUF ioctl succeeds,
don't try the FDFLUSH ioctl that was required for floppies
	with older kernels.  This avoids needless whining from the
	MD device driver.  (Addresses Sourceforge bug #545832).
2002-10-31 12:21:05 -05:00
Theodore Ts'o 9ed06a1eb9 openfs.c (ext2fs_open): Fix bug which caused us to pass the
wrong group_block to ext2fs_descriptor_block_loc if we're
	using the backup superblock/block group descriptors.
	(ext2fs_descriptor_block_loc): If we're using the backup
	superblock descriptors, use the backup descriptor block in
	the next block group.
2002-10-31 11:45:06 -05:00
Theodore Ts'o 76dd5e5c28 Add support for the meta_bg feature flag to the resize2fs program.
Fix bug in meta_bg support in mke2fs, e2fsck, and dumpe2fs; we were 
incorrectly reserving the legacy block groups desriptor blocks.
2002-10-30 23:07:21 -05:00
Theodore Ts'o 9d2aefb3bc Add a new superblock field, s_mkfs_time, which indicates when
the filesystem was created.  It is set via mke2fs, and printed 
via list_super2() (which is called by dumpe2fs).  

Also, list_super2() will now print "n/a" if the last mount time
(s_mtime) is zero.
2002-10-25 17:29:55 -04:00
Theodore Ts'o 4a959fe6f1 Add support for new default mount options for the journal data mode. 2002-10-20 01:52:52 -04:00
Theodore Ts'o c046ac7f2e Add support for the meta_blockgroup filesystem format. 2002-10-20 00:38:57 -04:00
Theodore Ts'o a0c3fd5e4c Add support for new feature in ext2/3 filesystems; a default mount options field
in the superblock.  Added the tune2fs '-o' option to set this field.
2002-10-15 17:43:43 -04:00
Theodore Ts'o 3e69906495 Fix gcc -Wall nits.
Fix format bug if NLS is in use.

Add extra so that the info directory looks OK on OpenWall.
2002-10-13 23:56:28 -04:00
Theodore Ts'o 8132d840c8 Fix endian problems in the htree code for e2fsck and debugfs.
When byte-swapping a filesystem on a PPC architecture, byte-swap
the bitmaps since the historical big-endian ext2 variant had
byte-swapped bitmaps, and the ext2fs library assumes this.  Otherwise
the regression test suite will fail...
2002-10-02 22:07:17 -04:00
Theodore Ts'o c663305947 Update for 1.29 release. 2002-09-24 01:26:50 -04:00
Theodore Ts'o d25f8cf646 lib/et/internal.h: Remove declaration of perror. All modern systems
can be expected to define perror() these days.
2002-09-23 23:51:57 -04:00
Theodore Ts'o 87ee8dcad3 Update changelogs for 1.28 release 2002-08-31 03:02:57 -04:00
Theodore Ts'o ea1959f015 Fix a bug which caused e2fsck to fail to correctly check filesystems
using a non-zero hash version (i.e., half MD4 or TEA hash).

The hash version wasn't getting copied into dx_dir->hashversion and
this caused the kernel to treat all directories if they were using the 
legacy hash, which was Bad.
2002-08-31 02:32:41 -04:00
Theodore Ts'o f61fc0b5d9 Add support for the hash_seed and s_def_hash_ver fields in the
superblock.  Dumpe2fs can now print out these fields, and they 
can be modified using debugfs's set_super_value command.  Also added
to debugfs was the ability to set s_uuid and s_journal_uuid features
as well.
2002-08-24 00:04:03 -04:00
Theodore Ts'o ee504128d3 valid_blk.c (ext2fs_inode_has_valid_blocks): Fix bug which
failed to accurately characterize non-standard slow
	symlinks.  (Which don't appear in practice on real-life
	systems, fortunately.)
2002-08-20 01:14:30 -04:00
Theodore Ts'o e6f2bda381 Makefile.in: Revamp makefile so that it doesn't depend
--enable-elf-shlibs.  We always build the shared library,
	since it's meant to be used as a plugin library.
2002-08-18 03:37:10 -04:00
Theodore Ts'o 9a4311a666 Clean up fsck handling, and fix bug which caused fs_shrink and
fs_expand to abort if fsck fixed a problem and exited with a 
status code of 1.
2002-08-18 02:44:58 -04:00
Theodore Ts'o 21b3ba9c56 More EVMS 1.1 CVS synchronization.
Fix up logging macros to use __FUNCTION__ correctly.
2002-08-18 02:00:42 -04:00
Theodore Ts'o 8fd69563ce fs_ext2.c, fsimext2.c: Synchronize with EVMS CVS tree.
Fixed up confusion caused by bad parameter names for
	get_fs_limits().  Added missing conversion of
	volume->vol_size from sectors to bytes.  Fix up error 
	returns for unsupported tasks as EINVAL, not ENOSYS.
	Use logical names for the API version numbers, since 
	the ABI is much more dependent on the headers.  Add
	code to byte-swap the superblock if necessary.
2002-08-18 01:48:46 -04:00
Theodore Ts'o 2b399a21e4 common.h, dlist.h, enginestructs.h, options.h, plugfuncs.c,
fs_ext2.c: Synchronize with ABI of EVMS 1.1.
2002-08-18 01:11:12 -04:00
Theodore Ts'o e5b164373c Update to debian's 1.27+1.28-WIP-0626-1
Revert the shlibs hack.

Makefile.in: Remove inode_io.o from the standard object files 
	in libext2fs, and only build it if debugfs is enabled
	(it requires fileio.o, which is only built if 
	--disable-debugfs isn't specified to configure).
2002-08-17 21:11:29 -04:00
Theodore Ts'o 023d111e92 chattr.1.in: Document the compression attribute flags E, X, and
Z, and explain that chattr can't set or set these flags.
	(Addresses Debian Bug #151990)

fsetflags.c (fsetflags), fgetflags.c (fgetflags.c), setflags.c
	(setflags), getflags.c (getflags): Check to make sure the
	file is a regular file or a directory before attempting to
	use the ext2 ioctls.  Otherwise, return EOPNOTSUPP.
	(Addresses Debian Bug #152029).
2002-08-17 14:44:56 -04:00
Theodore Ts'o b33278c4d6 Modify the half MD4 hash so it is no longer endian dependent. This is
a backwards incompatible change, but this should be OK since the kernel
MD4 ext3 code was only in the CVS tree, and hasn't generally escaped.

Add support for the TEA hash.
2002-08-17 10:52:51 -04:00
Theodore Ts'o 0684a4f33b Overhaul extended attribute handling. Should now be correct with
respect to the latest V2 bestbits ACL code.
2002-08-17 10:19:44 -04:00
Theodore Ts'o 917e875098 Makefile.in: Move dupfs.o and test_io.o from the
needed-by-debugfs object list to the needed-by-resizer
	object list.  Fixes compile problem if the system is built
	with only --disable-debugfs.
2002-08-13 15:16:47 -04:00
Theodore Ts'o fe4dd429dc link.c (ext2fs_link): When adding a new link to a directory,
clear the HTREE bit.
2002-07-29 19:26:33 -04:00
Theodore Ts'o cc90bdfd08 dirhash.c (ext2fs_dirhash): Fix bug which caused MD4
calculations for names > 32 characters to be completely
	bogus.  Changed MD4 calculation to match what is currently
	being used in the CVS gkernel tree.
2002-07-23 13:11:53 -04:00
Theodore Ts'o b7a00563b2 Add support to e2fsck to reindex directories to use hash trees. 2002-07-20 00:28:07 -04:00
Theodore Ts'o 3ea1f0fb45 dirhash.c (halfMD4Transform): Shift the hash by one bit,
since that's required by the directory indexing code.
2002-07-19 22:30:37 -04:00
Theodore Ts'o 8d7f458743 parse.c (uuid_parse): Fix uuid parsing bug which didn't complain
for certain types of invalid input text.  (Addresses
	Debian bug #152891).

tst_uuid.c: Add test cases for invalid text strings passed to
	uuid_parse.
2002-07-15 23:49:57 -04:00
Theodore Ts'o a8a813ee33 fsetflags.c (fsetflags), fgetflags.c (fgetflags): Save
errno if the ioctl fails, and restore it just before we
	return.
2002-07-14 16:13:55 -04:00
Theodore Ts'o 50cd7e06e2 ext2fs.h, read_bb_file.c: Change private to priv_data, to avoid
using a C++ reserved word.
2002-07-14 16:00:50 -04:00
Theodore Ts'o 593c6ead7e Various portability fixes which should help out HURD.
The iterate_on_dir function in libe2p has been changed to be more
general, so it relies less on the layout of struct dirent.  We also
make sure the errno returned by the ioctl is returned by 
fgetversion() and fsetversion().
2002-07-14 15:58:38 -04:00
Theodore Ts'o f154d2f687 unix_io.c (unix_open): Only attempt the setrlimit workaround if
the kernel version is 2.4.10 -- 2.4.17, since otherwise an
	old version of glibc (built against 2.2 headers) will
	interact badly with the workaround to actually cause more
	problems.  I hate it when the glibc folks think they're
	being smarter than the kernel....
2002-07-14 08:33:32 -04:00
Theodore Ts'o 9e6c5dd73e ext2_fs.h: Add superblock field for reserved group descriptors. 2002-07-09 11:08:10 -04:00
Theodore Ts'o 4e9bf7fa01 Added amusing political correctness quote. 2002-07-07 16:32:46 -04:00
Theodore Ts'o 2cb403b255 bitops.h: Add #define's for ext2fs_{l,b}e{32,16}_to_cpu and
ext2fs_cpu_to_{l,b}e{32,16}
2002-06-28 08:10:29 -04:00
Theodore Ts'o 5818d6789a ismounted.c (check_mntent): In AIX 4.3, MOUNTED isn't defined.
Add appropriate fallbacks in this case.
2002-06-27 21:19:45 -04:00
Theodore Ts'o 503f9e7f6e Add support for the half-MD4 HTREE hash.
Add HTREE root node tests.
2002-06-26 16:52:10 -04:00
Theodore Ts'o 88372d5c4b Applied Andrew Morton's patch to support the dirsync option. 2002-06-15 18:58:39 -04:00
Andreas Dilger b21bf26778 Do sanity checking of the number of blocks and inodes in a group for
8192-byte and 16384-byte blocksize filesystems.

Change the default bytes-per-inode ratio of a new filesystem to be at most
one inode per block for large blocksizes.
2002-06-10 11:05:56 -06:00
Andreas Dilger 7da78ff17d ext2_fs.h: Further minor cleanups of the header. Consolidate
some checks for __KERNEL__ into one place.
2002-06-09 17:38:50 -06:00
Theodore Ts'o 26bfdca8f2 fs_ext2.c (fs_init_task): Fix minor bugs pointed out by Steve
Pratt.  Fixed a selection bug and added checks to make
	sure volumes are not mounted when creating the list of
	volumes which can be mkfs'ed by the ext2/3 plugin.
2002-06-01 21:48:24 -04:00
Theodore Ts'o 3fb47e19e3 Add changelog file for EVMS. 2002-05-30 12:36:32 -04:00
Theodore Ts'o 39cc87feb2 Add support for expanding and contracting filesystems. Fix a few minor bugs
since the last commit.
2002-05-28 23:16:10 -04:00
Theodore Ts'o ff6dbcca9c Add EVMS FSIM plugin to e2fsprogs. 2002-05-24 22:44:42 -04:00
Andreas Dilger 0fbd1a8a9a ext2_fs.h: Remove macros accessing u.ext2_sb field and use
the EXT2_SB() macro instead.  Remove kernel function
	prototypes also.  This matches the 2.5 kernel, and
	is also cleaner for other reasons.  Whitespace cleanup.
2002-05-23 00:32:34 -06:00
Theodore Ts'o 0d63467ddb Update to support the V2 Bestbits EA format. 2002-05-22 00:22:38 -04:00
Theodore Ts'o 31e29a12d1 Fix up Andreas's 8k blocksize changes to fix a number of bugs,
and to make the page size determined at run-time instead of 
compile time.
2002-05-17 10:53:07 -04:00
Andreas Dilger 932a489cdf Add support for creating and checking 8192-byte blocksize filesystems.
We complain if you try to create such a filesystem on a system with 4096
byte PAGE_SIZE.

Add checks for valid inode size for undocumented -I option.
2002-05-16 03:20:07 -06:00
Theodore Ts'o b38cd28363 Add a new command "bmap" to debugfs which calculates the logical->physical block
mapping for a particular inode.

Fixed a bug in the libext2 library which broke ext2fs_bmap if no inode structre
was passed inside for here.

Fixed bad calling parameters to parse_ulong which broken the -b  and -s
options to debugfs, as well as do_init, and the testb, setb, clearb functions.
2002-05-11 22:13:20 -04:00
Theodore Ts'o f0efd2976b ismounted.c (check_mntent_file, is_swap_device): Verify that the
file we are checking is a block device file before looking
	at st_rdev, since it's not valid for normal files.
	(is_swap_device): Move so that it is outside the
	HAVE_MNTENT_H, so that it is always built.
2002-04-27 17:07:52 -04:00
Theodore Ts'o 1acb01b4e2 Fix stupid bug; dx_hack_hash was left-shifted by one in CPP macro
trap.
2002-03-12 13:41:31 -05:00
Theodore Ts'o f9190c8a95 dirblock.c (ext2fs_read_dir_block2, ext2fs_write_dir_block): New
functions which take an extra flags argument.  The flag
	EXT2_DIRBLOCK_V2_STRUCT will reverse when the name_len
	field is byte swampped on big-endian machines, since in
	the V2 structure, name_len is a char field which is
	doesn't need to be byte swapped --- except if an
	old-style kernel had byte-swapped the name_len field
	as part of the V1 structure.

Also fixed a bug in debugfs which used ext2_dir_entry_2 without 
worrying about the above issue, with the net result that "ls -l"
would print an incorrect file type on big-endian systems.
2002-03-12 01:05:06 -05:00
Theodore Ts'o 52783e0ca7 Add new function to the libext2fs library, ext2fs_dirhash, which
calculates the hash of a filename for indexed directories.
2002-03-11 15:04:45 -05:00
Theodore Ts'o a8e772498c Update for 1.27 release. 2002-03-08 03:12:14 -05:00
Theodore Ts'o 546a1ff18c Fix various gcc -Wall complaints. 2002-03-07 23:52:56 -05:00
Theodore Ts'o 304905df4a Makefile.in (check): Use LD_LIBRARY_PATH to run test programs.
(From Philipp Thomas <pthomas@suse.de>)
2002-03-07 20:55:01 -05:00
Theodore Ts'o 57173d0feb Update Changelog messages to use tytso@mit.edu for all addresses
after September 7, 2001.  (Forgot to update my emacs file to get
rid of the tytso@valinux.com address.  Oops.)
2002-02-26 14:59:39 -05:00
Theodore Ts'o df614db6ef Add initial support in debugfs for examining directory indexing
information.
2002-02-25 04:28:45 -05:00
Theodore Ts'o b9f409255e Update makefiles to install mkfs.ext3, and to install man pages for
mkfs.ext2/3 and fsck.ext2/3.  Also remove any compressed man pages
before installing the man pages.
2002-02-24 03:08:57 -05:00
Theodore Ts'o 541d173d91 Update with the Debian package e2fsprogs-1.26-1.
Clarify and clean up the badblocks man page and the com_err info file.
2002-02-23 21:23:26 -05:00
Theodore Ts'o 64e1b274ed unix_io.c (unix_open): Fix 2.4 resource limit workaround so that
it doesn't break things on mis32, sparc32, and alpha
	platforms.
2002-02-23 18:50:32 -05:00
Theodore Ts'o f3e3d31502 ismounted.c (is_swap_device): Fix file descriptor/memory leak;
we were missing an fclose().
2002-02-21 20:48:25 -05:00
Theodore Ts'o f12e285ffd Add new inode I/O abstraction interface which exports an inode as
an I/O object.

Export ext2_file_flush as a public interface.

Also minor cleanups to tighten code in other I/O abstractions, and to
mark a void * pointer as const in the ext2_file_write interface.
2002-02-20 01:06:25 -05:00
Theodore Ts'o 7d4343d0d0 Lots of small random portability fixes to make e2fsprogs build
under AIX --- even without the 5L compatibility toolkit, and even
using the uber-crippled AIX native C compiler.
2002-02-12 02:34:44 -05:00
Theodore Ts'o 7f961d424b Fix bug where ext2fs_mkdir wasn't correctly bumping the number of
directories in use in a bloock group.
2002-02-03 01:28:52 -05:00
Theodore Ts'o a5f3f5c191 Update files for 1.26 release. 2002-02-03 01:00:22 -05:00
Theodore Ts'o 682720a41b Fix gcc -Wall nits. 2002-01-03 05:10:04 -05:00
Theodore Ts'o 8bd0c95908 dir_iterate.c (ext2fs_dir_iterate2, ext2fs_process_dir_block):
Add support for a new flag, DIRENT_FLAG_INCLUDE_REMOVED,
	which will return deleted directory entries.
	ext2fs_dir_iterate2 takes a new callback function which
	is identical with the one used by
	ext2fs_dblist_dir_iterate().  If the directory entry is
	deleted, the callback function will be called with the
	entry paraemter set to DIRENT_DELETED_FILE.

Makefile.in, alloc_stats.c (ext2fs_inode_alloc_stats,
	ext2fs_block_alloc_stats): New functions which update
	block/inode allocation statistics in the bitmaps, block
	group descriptors, and superblock.

mkjournal.c (mkjournal_proc), mkdir.c (ext2fs_mkdir),
expanddir.c (expand_dir_proc), bb_inode.c
	(clear_bad_block_proc, set_bad_block_proc,
	ext2fs_update_bb_inode), alloc.c (ext2fs_alloc_block):
	Update to use new block/inode allocation statistics.
2002-01-03 03:29:19 -05:00
Theodore Ts'o 07cefe7a70 ismounted.c (is_swap_device): New function used by
ext2fs_check_if_mounted and ext2fs_check_mount_point which
	determines whether or not the specified device is a swap
	device by using /proc/swaps.  More bulletproofing for
	idiotic/careless system administrators!
2001-12-24 15:20:22 -05:00
Theodore Ts'o 5f0fabe6db Fix broken Makefile dependencies. 2001-12-24 12:42:45 -05:00
Theodore Ts'o 6a525069a9 Mke2fs now creates the lost+found directory with 0700 permissions,
since files which get dropped into that directory may have come 
from a protected directory, and the system administrator may not 
deal with immediately.  (Addresses Debian bug #118443)
2001-12-24 09:40:00 -05:00
Theodore Ts'o a8fd6e36b8 ismounted.c (check_mntent_file): Stat all of the entries in
/etc/mtab and/or /proc/mounts in order to catch dim-witted
	system administrators who might have created alias
	devices.
2001-12-24 01:40:35 -05:00
Theodore Ts'o 19007e51a5 Move linux/jbd.h to ext2fs/kernel-jbd.h, to avoid using the
system header file version of hbd.h when using diet glibc
(since it forcibly adds /usr/include to the beginning of include
search path.)
2001-12-23 19:33:51 -05:00
Theodore Ts'o 4ea7bd0439 Fix various gcc -Wall nits. Fixed a bug in mke2fs where a bogus
error message could be printed on an malloc() failure, and e2image
was optimized to avoid needless system calls by using the stashed
inode functions.
2001-12-16 23:23:37 -05:00
Theodore Ts'o 8cf93332d1 Fix e2fsck's handling of external journals,and update journal
recovery files from 2.4.17-pre8.
2001-12-16 02:23:36 -05:00
Theodore Ts'o bd27880b4b unix_io.c (unix_open): Make sure the ulimit workaround works
regardless of the version of glibc which is used to
	compild e2fsprogs.
2001-12-03 05:47:32 +01:00
Theodore Ts'o 571fc5a89c Fixes necessary for e2fsprogs to work using the diet libc.
- Renamed linux/list.h to be linux/linked_list.h to work around a
  problem caused by diet libc insistence to search the kernel
  header files ahead of all other files in the include path, 
  including the user specified include files.

- Worked around a bug in diet libc which core dumps when using 
  putc with stderr by using fputs instead.  As a bonus, this
  also shaved a few bytes off of com_err.o.

- Fixed a real bug in debugfs which was detected because diet libc
  was more sensitive than glibc when incorrectly using fclose()
  where pclose() is required.
2001-12-02 17:23:27 +01:00
Theodore Ts'o 8880e7599c unix_io.c (unix_open): Work around a bug in 2.4.10+ kernels by
trying to unset the filesize limit if at all possible,
	if a block device is getting opened.  (The filesize limit
	shouldn't be applied against writes to a block device, but
	starting in 2.4.10, the kernel is doing this.)
2001-11-26 21:05:36 -05:00
Theodore Ts'o 5bc28df0fa mkjournal.c (ext2fs_add_journal_inode): When creating a .journal
file on adding a journal to an already-mounted filesystem,
	try to clear the ext2 file attributes on an already
	existing .journal file so that we don't fail if on a
	partially added journal to the filesystem.
2001-11-09 17:34:54 -05:00
Theodore Ts'o b3f5b4c229 Define a new ext2 file attribute, EXT2_NOTAIL_FL,
which signals that a particular inode should not have the
last bits of data (the "tail") be merged with another
file.  This is necessary to keep programs like LILO happy.
2001-11-05 19:22:02 -05:00
Andreas Dilger 4941fe80d3 Add libuuid man pages to the RPM spec file.
Add a copyright statement to the libuuid man page which identifies it
as being under LGPL.  While this is conveyed in the source code, it is
not mentioned anywhere in the man pages or other documentation.
2001-10-01 16:02:20 -06:00
Theodore Ts'o fbf9111216 Update changelogs for 1.25 release. 2001-09-20 10:47:47 -04:00
Theodore Ts'o 2038b636b2 ismounted.c (check_mntent_file): We now validate the entry in
/etc/mtab to make sure the filesystem is really mounted,
	since some broken distributions (read: Slackware) have
	buggy boot scripts that don't initialize /etc/mtab before
	checking non-root filesystems.  (Slackware also doesn't
	check the root filesystem separately, and reboot if the
	root filesystem had changes applied to it, which is
	dangerous and broken.)
2001-09-14 07:44:25 -04:00
Theodore Ts'o 7746cad695 ext2_ext_attr.h: Remove unneeded #include of <linux/config.h>
which was breaking the build on the hurd.  (Addresses
	Debain bug #112414)
2001-09-17 00:02:21 -04:00
Theodore Ts'o 7eb0669dd7 Make compile_et and mk_cmds safe from directory pathnames that
contain spaces.
2001-09-16 23:29:17 -04:00
Theodore Ts'o 5966f36f4c com_err.texinfo: Add appropriate @node and @menu lines so that
the a valid .info file can be made.  Use @deftypefun to
	define functions.  Change the e-mail address where bug
	reports to be sent to be is the e2fsprogs maintainer.
2001-09-11 00:38:03 -04:00
Theodore Ts'o ce2722f86d compare.c (uuid_compare), copy.c (uuid_copy),
isnull.c (uuid_is_null), pack.c (uuid_pack), 
	parse.c (uuid_parse), unpack.c (uuid_unpack),
	unparse.c (uuid_unparse), uuid.h, uuidP.h, 
	uuid_time.c (uuid_time, uuid_type, uuid_variant):
	Use const for pointer variables that we don't modify.  Add
	the appropriate ifdef's in uuid.h to make it be C++ friendly.
2001-09-10 20:30:09 -04:00
Theodore Ts'o fb70775b0f Update for 1.24a release 2001-09-04 15:00:37 -04:00
Theodore Ts'o 109624a133 Update for 1.24 release. 2001-08-31 00:59:55 -04:00
Theodore Ts'o eddeb56f9f getsize.c (ext2fs_get_device_size): Back out BLKGETSIZE64
changes, since the ioctl number has been reused by another
	unofficial patch.
2001-08-30 17:24:02 -04:00
Theodore Ts'o 943ed874fc Add missing log entry showing when we released e2fsprogs 1.23 2001-08-27 12:29:22 -04:00
Theodore Ts'o 89a6ebd524 Performance enhancements to speed up creating a journal and
block and inode allocation in general.
2001-08-05 20:31:09 -04:00
Theodore Ts'o d007cb4cbb Cleanup changes to Andreas' symlink patch. Remove use of EXT2_LINK_DIR
Also cleaned up the symlink handling code to make it a bit more
compact and to test for a bad symlink block earlier.
2001-08-04 20:39:39 -04:00
Andreas Dilger 67052a8aee Add extra checks for bad symlinks, including zero length symlinks,
too long i_size for slow and fast symlinks, i_size_high set, multiple
blocks for slow symlinks.
2001-08-04 00:51:18 -06:00
Theodore Ts'o 3751721fbb finddev.c (scan_dir): Fix memory leak; we weren't calling
closedir() when exiting the function in all cases.
2001-07-29 12:01:09 -04:00
Theodore Ts'o 4e40f6c348 mkjournal.c (ext2fs_create_journal_superblock): Set the first block
usable in the journal for external journals to be 2 or 3,
        depending on the blocksize, so that the existing kernel code
        does the right thing.
2001-07-27 23:33:40 -04:00
Theodore Ts'o 343fa65e9f getsize.c (ext2fs_get_device_size): Add support for the
BLKGETSIZE64 ioctl.  (Ioctl defined by unofficial patches
	from Ben LaHaise, but it's likely this interface won't
	change.)
2001-07-27 22:15:06 -04:00
Theodore Ts'o f35e6440ef mkjournal.c (ext2fs_add_journal_device): Use the correct block
when writing the journal superblock, too.  (Oops! Needed
	to make 1k filesystems with external journal to work.)
2001-07-27 15:35:21 -04:00
Theodore Ts'o 36131b37d7 mkjournal.c (ext2fs_add_journal_device): Use the correct block
to find the journal superblock if the blocksize is 1024.
2001-07-26 23:44:39 -04:00
Theodore Ts'o adee8d75db Add support for use of an external journal (so long as the external
journal only has one filesystem).
2001-07-23 00:17:49 -04:00
Theodore Ts'o 241f7d2068 ext_attr.c (ext2fs_write_ext_attr): When writing the extended
attribute block, set the filesystem changed bit.
2001-07-20 14:17:19 -04:00
Theodore Ts'o 6ae296e734 Comment out ext2_find_first_bit_set and ext2fs_find_next_bit_set
since we're not using them.
2001-07-20 12:33:37 -04:00
Theodore Ts'o 3c6b8977d4 Speed up journal recovery in userspace by avoiding a pointless
unconditional ext2_flush() call.  Also made ext2_flush() more
efficient when the superblock is modified after the filesystem has
been flushed, and make it clear the superblock dirty flag
after doing the superblock/block group descriptor flush.
2001-07-10 14:27:58 -04:00
Theodore Ts'o f41e7e6961 bitops.h (ext2fs_find_first_bit_set): Use %esi instead of %ebx to
avoid register conflicts when compiling in PIC mode.
2001-07-07 22:14:23 -04:00
Theodore Ts'o ac493821ea Add new functions to bitops.h to find quickly search for set bits in
a bitmask.  (In both C and i386 assembler).
2001-07-04 14:04:58 -04:00
Theodore Ts'o 342d847db3 Add initial support for extended attribute blocks 2001-07-02 11:54:09 -04:00
Theodore Ts'o 67960139d7 Update changelogs for 1.22. 2001-06-23 00:16:37 -04:00
Theodore Ts'o b23520d050 mkjournal.c (ext2fs_add_journal_inode): Move close of file
descriptor so that adding a journal to a mounted
	filesystem doesn't die.  (Fixes a bug accidentally
	introduced in e2fsprogs 1.21.)
2001-06-22 21:52:14 -04:00
Theodore Ts'o 7833262585 mkjournal.c (ext2fs_add_journal_inode): Only use fchflags if
HAVE_CHFLAGS and UF_NODUMP are defined, since the Hurd has
	fchflags without defining UF_NODUMP.  (Addresses Debian
	bug #101361)
2001-06-22 21:20:47 -04:00
Theodore Ts'o d90f3494b2 e2fsck/flushb.c and lib/ext2fs/flushb.c: Use platform independent
method of defining the BLKFLSBUF and FDFLUSH ioctl's.
	Also include sys/mount.h since on newer glibc's BLKFLSBUF
	is defined there.
2001-06-22 21:01:17 -04:00
Theodore Ts'o 16645f802a bitops.h: The C language versions of ext2fs_swab16/32 need to be
included if EXT2FS_ENABLE_SWAPFS is defined, since we need to support
	byte swapping even if we don't support the conversion functions.
	(Fixes Debian bug #101686).
2001-06-22 20:54:11 -04:00
Theodore Ts'o 163337b069 uuid.h: Add protection against multiple inclusion 2001-06-22 20:51:42 -04:00
Theodore Ts'o 89a1fa831f dirblock.c (ext2fs_read_dir_block): Remove use of dir_entry_2 since
the byte-swapping code all assumes the ext2_dir_entry structure.
	(It's a question of whether or not name_len should be byte-swapped or
	not, and whether it's a 16 bit or 8 bit field.)
2001-06-22 20:40:51 -04:00
Theodore Ts'o f4f75bae85 ChangeLog:
Update for 1.21 release.
2001-06-16 01:14:28 +00:00
Theodore Ts'o d1e66b7936 ChangeLog, Makefile.in:
Makefile.in: Fix bug in installation of ext2_types.h.  It is a file
  	which is generated and is therefore found in the build directory, not
  	source directory.
2001-06-15 22:44:32 +00:00
Theodore Ts'o 997b820e94 ChangeLog, ismounted.c:
ismounted.c (check_mntent_file): Use a test file in / to check to see
  	if the root filesystem is mounted read-only.  This protects against
  	the case where /etc might not be on /, as well as the case where
  	/etc/mtab doesn't exist.  (Both are should-never happen scenarios, but
  	you never know...)
2001-06-15 18:33:43 +00:00
Theodore Ts'o 6bd134809c ChangeLog, ismounted.c:
ismounted.c (ext2fs_check_if_mounted): Fix grammer in comment.  Remove
  	unneeded #pragma argsused, since the arguments are always used.
2001-06-14 07:00:55 +00:00
Theodore Ts'o 6579488028 ChangeLog, ext2_types.h.in:
ext2_types.h.in: If linux/types.h has been defined, then don't try to
  	redefine the typedefs.
ChangeLog, Makefile.in:
  Makefile.in: Make the install target depend on $(SUBS) to accomodate
  	the fools who want to compile and install e2fsprogs as root using just
  	one command.
2001-06-14 00:24:42 +00:00
Theodore Ts'o 364a373e16 ChangeLog, setsuper.c:
setsuper.c: Add s_lastcheck field to the fields which can be modified
  	using set_super_value.  (Suggested by Andreas Dilger)
ChangeLog, Makefile.in:
  Makefile.in (HFILES): Add ext2_types.h to the list of files which
  	should be installed.
2001-06-13 23:46:39 +00:00
Theodore Ts'o 83d5abf1d7 ChangeLog:
Add debian bug number reference.
  Add debian bug reference.
2001-06-13 23:31:27 +00:00
Theodore Ts'o 66a461469c ChangeLog, ismounted.c:
ismounted.c (check_mntent_file): Work around GNU hurd brain damage.
2001-06-13 23:26:19 +00:00
Theodore Ts'o 30ae14c9de ChangeLog, Makefile.in:
Makefile.in: Limit some .o files from being included into the library
  	if --disable-debugfs, --disable-swapfs, --disable-imager, or
  	--disable-resizer are used.
2001-06-13 22:38:56 +00:00
Theodore Ts'o cbbf031b6e ChangeLog, dumpe2fs.c, mke2fs.c:
dumpe2fs.c: Use WORDS_BIGENDIAN to determine whether or not we're
  	(not) using i386 byte order.
  dumpe2fs.c, mke2fs.c: Stop using the compatibility badblocks function,
  	and use the ext2fs_badblocks_* functions instead.
ChangeLog, inode.c, tst_iscan.c:
  inode.c, tst_iscan.c: Stop using the compatibility badblocks function,
  	and use the ext2fs_badblocks_* functions instead.
ChangeLog, badblocks.c:
  badblocks.c: Stop using the compatibility badblocks function, and use
  	the ext2fs_badblocks_* functions instead.
2001-06-13 00:12:04 +00:00
Theodore Ts'o 3034f62a0f ChangeLog, Makefile.in, bitops.h, gen_bitmap.c:
Makefile.in, gen_bitmap.c, bitops.h: Move inline functions
  	ext2fs_mark_generic_bitmap and ext2fs_unmark_generic_bitmap to
  	gen_bitmap.c as normal functions.  (This saves space and doesn't
  	significantly change the speed of e2fsck on a P-III.)
ChangeLog:
  Add missing log entry for unix.c.
2001-06-11 15:17:45 +00:00
Theodore Ts'o 5df55d7f84 ChangeLog, Makefile.in, swapfs.c, unix.c:
Makefile.in: Add message.c and swapfs.c to the list of source files to
  	build the make depend.
  swapfs.c, unix.c: Only support the -s and -S options to e2fsck if
  	ENABLE_SWAPFS is defined.
Many files:
  ext2fs.h, bitops.h, block.c, bmap.c, closefs.c, dirblock.c, inode.c,
  	native.c, openfs.c, rw_bitmaps.c, swapfs.c: Only include the
  	byte-swapping logic if ENABLE_SWAPFS is turned on or if we're on a
  	big-endian machine.
  initialize.c (ext2fs_initialize):Use WORDS_BIGENDIAN directly to set
  	EXT2_FLAG_SWAP_BYTES, instead of using ext2fs_native_flag.
  native.c (ext2fs_native_flag): Use WORDS_BIGENDIAN provided by
  	autoconf to determine whether or not return EXT2_FLAG_SWAP_BYTES.
2001-06-11 07:00:04 +00:00
Theodore Ts'o 69c09f526c .del-configure~7a460879:
Remove junk file.
2001-06-11 02:07:57 +00:00
Theodore Ts'o 349a484a57 ChangeLog, Makefile.in, mkjournal.c:
Makefile.in: Remove the dependence on the libe2p library.
  mkjournal.c (ext2fs_add_journal_inode): Replace use of fsetflags with
  	direct usage of the ioctl/fchflags so that we don't have to depend on
  	the libe2p library.
2001-06-11 00:49:29 +00:00
Theodore Ts'o 30e50b7cdd ChangeLog, icount.c:
icount.c (insert_icount_el): Fix the code used to estimate the size of
  	the new icount array to be more intelligent, to avoid reallocating the
  	array too many times.
ChangeLog, ext2_types.h.in:
  ext2_types.h.in: Use unsigned ints in favor of unsigned longs when
  	trying to find a 32-bit wide type.
2001-06-08 09:43:40 +00:00
Theodore Ts'o f36d14f5f0 ChangeLog, valid_blk.c:
valid_blk.c (ext2fs_inode_has_valid_blocks): Only check i_blocks for a
  	symlink to determine whether it is a fast symlink.
2001-06-02 04:13:16 +00:00
Theodore Ts'o 36a23e1806 ChangeLog:
Fix typo in ChangeLog.
2001-06-02 00:54:10 +00:00
Theodore Ts'o 797f5ef14e ChangeLog, wordwrap.pl:
Makefile.in: Move include/asm/types.h.in to lib/ext2fs/ext2_fs.h.in.
  wordwrap.pl: Add some rules which help fix up the dependencies.
Many files:
  Move include/asm/types.h.in to lib/ext2fs/ext2_fs.h.in.
2001-06-01 23:49:46 +00:00
Theodore Ts'o 0923fc6d35 ChangeLog, unpack.c, unparse.c, uuid_time.c:
unpack.c, unparse.c, uuid_time.c: Update files to be under the LGPL
  	(that somehow were missed when libuuid was converted to use the LGPL).
  	Whoops.
2001-06-01 15:03:25 +00:00
Theodore Ts'o bb185861d1 e2fsprogs.lsm, version.h:
Update version string for 1.20 release
ChangeLog:
  Update Changelogs for 1.20 release.
2001-05-25 17:35:00 +00:00
Theodore Ts'o d5f858dd7f ChangeLog, ismounted.c:
ismounted.c: More cleanups for ismounted.c, some from Andreas, some to
  	clean up Andreas's patches.  Use strncpy instead of strcpy to save the
  	root's mountpoint.  Clean up #ifdef structure.  Remove uneeded
  	variable in testing/debug driver.
2001-05-25 17:14:23 +00:00
Theodore Ts'o cc86017b59 ChangeLog, ismounted.c:
ismounted.c: Add check for root device which doesn't depend on
  	/etc/fstab or /proc/mounts to be correct.  Don't call endmntent()
  	before we are done with mnt struct.
2001-05-25 16:32:53 +00:00
Theodore Ts'o 4ed8ebe268 ChangeLog, ext2_err.et.in:
ext2_err.et.in (EXT2_ET_JOURNAL_UNSUPP_VERSION): Added new error code.
2001-05-23 18:30:10 +00:00
Theodore Ts'o b10820cdcd ChangeLog, ext2_fs.h:
ext2_fs.h: Change assignment of EXT2_FEATURE_COMPAT_DIR_INDEX to make
  	room for pre-existing usage of EXT2_FEATURE_COMPAT_EXT_ATTR.  Add flag
  	EXT2_INDEX_FL with the same codepoint as EXT2_BTREE_FL.
2001-05-21 05:23:31 +00:00
Theodore Ts'o 7c2d25699f ChangeLog, ext2fs.h:
ext2fs.h: #include <> instead of "" for ext2fs and et header files,
  	since they will be installed in /usr/include
ChangeLog, e2p.h:
  e2p.h: #include <> instead of "" for ext2fs and et header files, since
  	they will be installed in /usr/include
2001-05-21 02:54:21 +00:00
Theodore Ts'o 20562a48a5 Many files:
Makefile.bsd-lib, Makefile.dll-lib, Makefile.elf-lib,
  	Makefile.solaris-lib: Use $(LDCONFIG) instead of -ldconfig.
2001-05-19 22:07:36 +00:00
Theodore Ts'o 54c637d4d2 Many files:
badblocks.c, chattr.c, dumpe2fs.c, e2image.c, findsuper.c, lsattr.c,
  	mke2fs.c, mklost+found.c, tune2fs.c, util.c: Change location of
  	ext2_fs.h to be ext2fs/ext2_fs.h
ChangeLog, Makefile.in, resize2fs.h:
  resize2fs.h: Change location of ext2_fs.h to be ext2fs/ext2_fs.h
ChangeLog, Makefile.in, debugfs.h:
  debugfs.h: Change location of ext2_fs.h to be ext2fs/ext2_fs.h
ChangeLog, Makefile.in, e2fsck.h, scantest.c:
  e2fsck.h, scantest.c: Change location of ext2_fs.h to be
  	ext2fs/ext2_fs.h
ChangeLog, Makefile.in, tst_uuid.c, uuid_time.c:
  tst_uuid.c, uuid_time.c: Remove unneeded #include of ext2_fs.h
ChangeLog, Makefile.in, e2p.h:
  e2p.h: Change location of ext2_fs.h to be ext2fs/ext2_fs.h
ChangeLog, Makefile.in, test_icount.c, test_rel.c:
  test_icount.c, test_rel.c: Change location of ext2_fs.h to be
  	ext2fs/ext2_fs.h
2001-05-14 11:45:38 +00:00
Theodore Ts'o 9f8046fc6d Many files:
alloc.c, alloc_tables.c, badblocks.c, bb_compat.c, bb_inode.c,
  	bitmaps.c, bitops.c, block.c, bmap.c, bmove.c, brel_ma.c,
  	check_desc.c, closefs.c, cmp_bitmaps.c, dblist.c, dblist_dir.c,
  	dir_iterate.c, dirblock.c, dupfs.c, expanddir.c, ext2_fs.h, fileio.c,
  	finddev.c, flushb.c, freefs.c, get_pathname.c, getsize.c, icount.c,
  	imager.c, initialize.c, inline.c, inode.c, irel_ma.c, ismounted.c,
  	link.c, lookup.c, mkdir.c, mkjournal.c, namei.c, native.c, newdir.c,
  	nt_io.c, openfs.c, read_bb.c, read_bb_file.c, rs_bitmap.c,
  	rw_bitmaps.c, swapfs.c, test_io.c, tst_badblocks.c, tst_byteswap.c,
  	tst_getsize.c, tst_iscan.c, unix_io.c, unlink.c, valid_blk.c,
  	version.c, write_bb_file.c, ext2_fs.h: Moved file from include/linux.
  	Adjust all files in this directroy to include this file.
2001-05-14 11:35:52 +00:00
Theodore Ts'o 7a34cb01a9 ChangeLog, mkjournal.c:
mkjournal.c (ext2fs_create_journal_superblock): Remove redundant code.
2001-05-14 04:28:35 +00:00
Theodore Ts'o a777397e22 openfs.c:
Update documentation about what flags are valid for ext2fs_open().
2001-05-13 23:12:10 +00:00
Theodore Ts'o 49d5ddcce3 ChangeLog, feature.c:
feature.c: Add COMPAT_DIR_INDEX and RESIZE_INODE known features
2001-05-13 22:21:52 +00:00
Theodore Ts'o 6d21621c0c ChangeLog, ls.c:
ls.c (print_features): Added missing space when printing (none) as the
  	filesystem feature.
  	(list_super2): If the filesystem revision is unknown, say so.
2001-05-13 22:14:53 +00:00
Theodore Ts'o 14fc5a37d3 Many files:
libuuid.3.in, uuid_clear.3.in, uuid_compare.3.in, uuid_copy.3.in,
  	uuid_generate.3.in, uuid_is_null.3.in, uuid_parse.3.in,
  	uuid_time.3.in, uuid_unparse.3.in: Update URL location of e2fsprogs
  	package.
2001-05-12 15:32:46 +00:00
Theodore Ts'o 2521f52ddd Makefile.in:
Update make depend information.
2001-05-11 05:04:03 +00:00
Theodore Ts'o 0f6794591e ChangeLog, fileio.c:
fileio.c (ext2fs_file_read): Factored out common code and cleaned up
  	function.  Fixed a bug where if there was an error reading from the
  	disk, the number of bytes read wasn't reliably set.  (Fixes Debian bug
  	#79163)
  	(ext2fs_file_write): Factored out common code and made function more
  	efficient; if writing a full block, don't bother to do a
  	read-modify-write cycle.
2001-05-05 16:42:24 +00:00
Theodore Ts'o bfcd9a116f ChangeLog, expect, name, script:
d_loaddump: New test which verifies debugfs's dump and load routines.
dirblock.c:
  Fix misc. gcc -Wall errors
2001-05-05 16:21:48 +00:00
Theodore Ts'o 1cca4d6036 ChangeLog, dirblock.c:
dirblock.c (ext2fs_read_dir_block): Check for an directory record
  	length which isn't a multiple four, and treat that as an invalid.
  	Scan the directory and return an error (EXT2_ET_DIR_CORRUPTED) if the
  	directory records are orrupted.
  	(ext2fs_write_dir_block): If while byte-swapping the directory block,
  	if there's an error, abort and return EXT2_ET_DIR_CORRUPTED.
2001-05-05 05:12:14 +00:00
Theodore Ts'o a78926effb Many files:
ext2fs.h (EXT2_FLAG_IMAGE_FILE): Add new flag, and add image_header
  	field in the ext2_filsys structure
  block.c (block_iterate_ind, block_iterate_dind, block_iterate_tind):
  inode.c (ext2fs_read_inode):
  rw_bitmaps.c (read_bitmaps):
  openfs.c (ext2fs_open): Add support for EXT2_FLAG_IMAGE_FILE
  imager.c (ext2fs_image_bitmap_read): Fix bug in imager to make sure
  	the full bitmap is saved.
2001-05-03 04:02:29 +00:00
Theodore Ts'o f955cc1425 ChangeLog, dir_iterate.c:
dir_iterate.c (ext2fs_process_dir_block): Add a double-check to make
  	sure the rec_len is a multiple of 4, to prevent bus-errors on
  	architectures which care about mis-aligned pointer references.
2001-05-01 19:04:28 +00:00
Theodore Ts'o b1416db322 ChangeLog, compare.c, gen_uuid.c, parse.c:
parse.c, compare.c: Include string.h to fix gcc -Wall complaints.
  gen_uuid.c: Define _SVID_SOURCE to avoid gcc -Wall errors because some
  	required structures wouldn't be otherwise defined.  Fix a minor gcc
  	-Wall nit in the declaration of get_random_fd().
2001-05-01 15:32:44 +00:00
Theodore Ts'o 954a683dd0 ChangeLog, getsize.c:
getsize.c (ext2fs_get_device_size): Use an unsigned long to query the
  	device sizes using the BLKGETSIZE ioctl.
2001-04-26 01:42:37 +00:00
Theodore Ts'o 52db0b4178 ChangeLog, Makefile.in, ismounted.c:
ismounted.c (check_mntent): Check /proc/mounts on Linux systems before
  	checking /etc/mtab.  The EXT2_MF_READONLY flag is now set from the
  	/etc/mtab options field for all filesystems, not just the root
  	filesystem.  Add debugging code to make it easier to test
  	ext2fs_check_if_mounted().
2001-04-17 02:22:05 +00:00
Theodore Ts'o 036039460f ChangeLog, ext2_err.et.in, mkjournal.c:
mkjournal.c (ext2fs_create_journal_superblock): Add safety check;
  	return an error if there's an attempt to create a journal less than
  	1024 filesystem blocks.
  ext2_err.et.in, mkjournal.c: Change EXT2_JOURNAL_NOT_BLOCK and
  	EXT2_NO_JOURNAL_SB to be EXT2_ET_*.
2001-04-17 00:53:25 +00:00
Theodore Ts'o 9ec53cf4f3 ChangeLog, Makefile.in, bitops.h, tst_byteswap.c:
bitops.h (ext2fs_swab16, ext2fs_swab32): Add i386 assembly inline
  	functions.
  tst_byteswap.c: New function to test the byteswap functions.  Add to
  	regression test suite.
2001-02-20 16:28:40 +00:00
Theodore Ts'o c5423c5b3e ChangeLog, e2image.c:
e2image.c (main): Add code to write the e2image header.
ChangeLog, e2image.h:
  e2image.h (struct ext2_image_hdr): Fix type for fs_hostname
2001-02-08 05:45:17 +00:00
Theodore Ts'o 6e34328156 libuuid.3.in:
Fix man page formatting
2001-02-08 05:00:05 +00:00
Theodore Ts'o d23042af75 ChangeLog, mkjournal.c:
mkjournal.c (ext2fs_create_journal_superblock): Fix the setting of
  	s_first for external devices to always be 1, since jsb->s_first is
  	always relative to the start of the journal superblock.  Use htonl(1)
  	when setting s_nr_users.
2001-02-08 03:37:16 +00:00
Theodore Ts'o a05c589a5e Makefile.in:
Update makefile dependencies
2001-01-18 02:37:21 +00:00
Theodore Ts'o 020888625f ChangeLog, mkjournal.c:
mkjournal.c (ext2fs_add_journal_device): Fix bug where the device
  	number of the filesystem (instead of the journal) was being dropped
  	into s_journal_dev.
ChangeLog, dumpe2fs.c:
  dumpe2fs.c (print_journal_information): Use s_first_data_block to find
  	the correct block to read the journal superblock.
2001-01-18 01:44:19 +00:00
Theodore Ts'o a112847b39 ChangeLog, ext2_err.et.in, ext2fs.h, initialize.c, mkjournal.c, openfs.c:
initialize.c (ext2fs_initialize): Add support for initializing the
  	ext2 superblock for external journal devices.  This basically means we
  	don't bother to allocate any block group descriptors.
  openfs.c (ext2fs_open): Only open external journal devices if the new
  	flag EXT2_FLAG_JOURNAL_DEV_OK is passed to ext2fs_open.  When opening
  	such devices, don't try to read the block group descriptors, since
  	they're not there.
  ext2_err.et.in (EXT2_NO_JOURNAL_SB): Add new error code
  mkjournal.c: Export a new function,
  	ext2fs_create_journal_superblock(), which allocates and returns a
  	buffer containing a journal superblock.  This is needed by mke2fs to
  	create an external journal.  Rewrote ext2fs_add_journal_device() so
  	that it no longer creates the external journal, but rather adds a
  	filesystem to an existing external journal.  It handles all of the
  	UUID manipulation.
  ext2fs.h: List the EXT3_FEATURE_JOURNAL_DEV as a flag supported by the
  	library.  Define the EXT2_FLAG_JOURNAL_DEV_OK.  Changed function
  	prototype for ext2fs_add_journal_device().
2001-01-16 06:56:14 +00:00
Theodore Ts'o 4ecf9d6ee4 ChangeLog, ls.c:
ls.c (list_super2): Fix bug where we were printing the filesystem UUID
  	instead of journal UUID when trying to display the journal UUID.
2001-01-16 06:41:54 +00:00
Theodore Ts'o c2204b3285 ChangeLog, feature.c:
feature.c: Add definition for EXT3_FEATURE_INCOMPAT_JOURNAL_DEV
2001-01-14 18:10:49 +00:00
Theodore Ts'o 8077994116 ChangeLog, closefs.c:
closefs.c (ext2fs_flush): Don't write out anything beyond the primary
  	superblock if EXT2_INCOMPAT_JOURNAL_DEV is listed.
2001-01-14 18:03:43 +00:00
Theodore Ts'o 990d429670 ChangeLog, feature.c:
feature.c: Remove backward compatibility #ifdef's for old ext2_fs.h
  	header files.
.del-ext2_fs.h~7a460879, ChangeLog:
  ext2_fs.h (EXT3_FEATURE_INCOMPAT_JOURNAL_DEV): Add definition for use
  	with external journal devices.
2001-01-14 17:56:00 +00:00
Theodore Ts'o 4055ef7301 ChangeLog, tune2fs.c:
tune2fs.c (add_journal): Minor fixes from Andreas Dilger. Flush stdout
  	after printing in-progress message.
  	(main): Exit with status code 1 if we failed to determine the mount
  	status of the device.
ChangeLog, gcc-wall-cleanup:
  gcc-wall-cleanup: Remove additional annoying warning messages emited
  	by gcc 2.95.2.
ChangeLog, uuid.h:
  uuid: Change arguments to make it clear which argument is the source
  	and which is the destination.
2001-01-14 16:11:14 +00:00
Theodore Ts'o 426d734ff0 ChangeLog, setsuper.c:
setsuper.c: Cleaned up some random whitespace problems.
ext2fs.h:
  Fixed spelling mistake in comment.
2001-01-13 01:29:05 +00:00
Theodore Ts'o 96394d11b0 ChangeLog, copy.c, gen_uuid.c, tst_uuid.c, uuid_time.c:
uuid_time.c (main), tst_uuid.c (main): Fix gcc -Wall complaints.
  copy.c (uuid_copy): Change arguments to make it clear which argument
  	is the source and which is the destination.
  gen_uuid.c (get_random_fd): Use gettimeofday to seed the PRNG, so we
  	can take advantage of tv_usec to do (slightly) better at seeding it.
2001-01-12 18:30:54 +00:00
Theodore Ts'o b94bd81ae2 ChangeLog, imager.c:
imager.c: Fix gcc -Wall complaints and a series of bugs where retval
  	wasn't set correctly.  (Thanks to Andreas Dilger for pointing this
  	out.)
2001-01-12 17:26:05 +00:00
Theodore Ts'o c8199c4769 ChangeLog, pf.c:
pf.c: Clarified name of the Compression_Raw_Access flag, and
  	capitalized Journaled_Data.
2001-01-12 01:43:28 +00:00
Theodore Ts'o 4d0f3e17a5 ChangeLog, MCONFIG.in, configure, configure.in:
MCONFIG.in: Change --enable-gcc-wall handling so that it's no longer a
  	configure option, but something which is done when the developer uses
  	the command "make gcc-wall".
  configure.in: Remove test for ino_t, since we don't use it any more
  	(we always use our own ext2_ino_t).  Remove --enable-gcc-wall support.
  	Add test for sys/ioctl.h
.del-types.h.in~ca55114a:
  Remove definition of ino_t
ChangeLog, Makefile.in, ext2fs.h, flushb.c, jump.funcs:
  flushb.c (ext2fs_sync_device): New function which centralizes all of
  	the places which might try to use the BLKFLSBUF or FDFLUSH ioctls (and
  	usually failing to define them since the system header files don't
  	usually do this for us, and we're trying to avoid usage of kernel
  	include files now.)
2001-01-11 15:48:50 +00:00
Theodore Ts'o 31dbecd482 Many files:
alloc.c, bb_inode.c, bitmaps.c, bitops.h, block.c, bmap.c, bmove.c,
  	brel.h, cmp_bitmaps.c, dblist.c, dblist_dir.c, dir_iterate.c,
  	expanddir.c, ext2fs.h, ext2fsP.h, fileio.c, finddev.c, get_pathname.c,
  	icount.c, inode.c, irel.h, irel_ma.c, ismounted.c, link.c, lookup.c,
  	mkdir.c, mkjournal.c, namei.c, newdir.c, read_bb_file.c, test_io.c,
  	tst_iscan.c, unix_io.c, unlink.c: Change use of ino_t to ext2_ino_t,
  	to protect applications that attempt to compile
  	-D_FILE_OFFSET_BITS=64, since this inexplicably changes ino_t(!?).  So
  	we use ext2_ino_t to avoid an unexpected ABI change.
2001-01-11 04:54:39 +00:00
Theodore Ts'o e446d71838 ChangeLog, dirblock.c:
dirblock.c (ext2fs_read_dir_block): Fix a potential case where we may
  	overrun allocated memory in case of a corrupted filesystem (or an
  	e2fsck test case :-) when byte-swapping the directory block.
2001-01-05 22:27:06 +00:00
Theodore Ts'o cdaf1fa78f ChangeLog, mkjournal.c:
mkjournal.c (ext2fs_add_journal_device): Fix various gcc -Wall
  	complaints including a missing return 0 at the end of
  	ext2fs_add_journal_device.
ChangeLog, ext2fs.h:
  ext2fs.h: Indent the #warning to fix gcc -Wall complaint.
2001-01-05 22:23:22 +00:00
Theodore Ts'o 4becab6824 ChangeLog, Makefile.in, mkjournal.c:
Makefile.in: Link in libe2p when creating libext2fs as a shared
  	library, since mkjournal.c now references fsetflags().
  mkjournal.c (ext2fs_add_journal_inode): Folded in Andreas Dilger's
  	changes (with fixups) to allow on-line creation of a journal file.
.del-types.h.in~ca55114a:
  Change what we use to protect the header file to be _ASM_TYPES_H
  instead of _LINUX_TYPES_H.  (Needed to make libc5 builds happy).
version.h:
  Update for WIP release.
2001-01-03 19:22:42 +00:00
Theodore Ts'o 43ec8734f2 ChangeLog, ext2fs.h, ismounted.c:
ismounted.c: add ext2fs_check_mount_point() function, which will
  	optionally return the mount point of a device if mounted
ChangeLog, closefs.c, ext2fs.h:
  ext2fs.h, closefs.c (ext2fs_flush): Add new flag,
  	EXT2_FLAG_SUPER_ONLY, which the close routines to only update the
  	superblock, and not the group descriptors.
2001-01-03 14:56:46 +00:00
Theodore Ts'o 31a17b36d5 ChangeLog, ext2fs.h, mkjournal.c:
mkjournal.c: rename ext2fs_add_journal_fs() to the more descriptive
  	ext2fs_add_journal_inode()
2001-01-03 13:04:12 +00:00
Theodore Ts'o e5b38a5faf Many files:
ext2fs.h: Remove definition of ext2fs_sb.  Note: this may break source
  	(but not binary) compatibility of some users of the ext2 library.
  	They should just simply do a global search and replace of struct
  	ext2fs_sb with struct ext2_super_block, and use their own private copy
  	of ext2_fs.h if they aren't already.
  closefs.c, initialize.c, link.c, newdir.c, openfs.c, swapfs.c: Replace
  	use of ext2fs_sb with ext2_super_block.
ChangeLog, main.c:
  main.c (main): Replace use of struct ext2fs_sb with struct ext2_super_block.
2001-01-01 16:17:12 +00:00
Theodore Ts'o 379955feee ChangeLog, ls.c:
ls.c: Remove our own internal definition of struct ext2fs_sb.  We can
  	assume that ext2_super_block is always up to date.
2001-01-01 15:54:58 +00:00
Theodore Ts'o 2fe1efe2e5 ChangeLog, ext2fs.h:
ext2fs.h: Cleaned up header file by removing definitions of feature
  	flags that might not have been defined in older ext2 header files.
  	Now that we're using our own include/linux/ext2fs.h header file, this
  	can never happen.
  jfs_dat.h: Removed old header file which is no longer needed.
ChangeLog:
  jfs_compat.h: Remove uneeded header file.
2000-12-31 13:39:17 +00:00
Theodore Ts'o bda15095fc ChangeLog, pf.c:
pf.c: Add code to print out the journalled data flag.
2000-12-31 13:35:38 +00:00
Theodore Ts'o a917d1ccf4 ChangeLog, closefs.c, ext2fs.h, jump.funcs, super.c:
Rename _ext2fs_update_fs_dynamic_rev to _ext2fs_update_dynamic_rev
2000-12-13 18:36:23 +00:00
Theodore Ts'o db6c40bcc1 swapfs.c:
Fix stupid typo.
2000-12-13 18:04:37 +00:00
Theodore Ts'o 3fe973b306 ChangeLog, closefs.c, ext2fs.h, jump.funcs:
closefs.c (ext2fs_update_fs_dynamic_rev): New function suggested by
  	Andreas Dilger to update the filesystem revision to EXT2_DYNAMIC_REV.
2000-12-13 17:55:49 +00:00
Theodore Ts'o 7dcfa6e217 ChangeLog, swapfs.c:
swapfs.c (ext2fs_swap_super): Add byte swapping for the journal fields.
2000-12-13 17:50:14 +00:00
Theodore Ts'o 4e246704ea ChangeLog, ext2fs.h, mkjournal.c:
ext2fs.h, mkjournal.c (ext2fs_add_journal_fs,
  	ext2fs_add_journal_device): Add a new argument to the APIs of these
  	function, which is a flags word.  This is used to allow the creation
  	of a V1 superblock for those folks who are using ext3 0.3b in
  	production.  Note, the user-land interface for getting at this flag
  	won't be documented, as the V1 superblock is deprecated.
2000-12-09 14:39:16 +00:00
Theodore Ts'o 0e8a9560d8 Many files:
jfs_e2fsck.h, jfs_user.h: Replaces jfs_compat.h.  The jfs.h file has
  	been moved to the include/linux directory.
  journal.c, revoke.c, recovery.c: Updated files from Stephen to support
  	the V2 superblock and revoke processing.  The journal.c and revoke.c
  	files are copies from the ext3 kernel source.
  Makefile.in: Added revoke.c to the list of source/object files.
Makefile.in:
  Fix up some mistakes in the source file list, and regenerate the
  dependencies.
  Update Makefile dependencies.
ChangeLog, jfs.h:
  jfs.h: Remove excess #include of JFS_DEBUG.  Not needed for e2fsprogs,
  	since we optioanlly define it in the configuration file system.
2000-12-09 06:41:25 +00:00
Theodore Ts'o 586187372a ChangeLog, jfs_user.h, mkjournal.c:
mkjournal.c (init_journal_superblock): Sync Stephen's changes which
  	creates a V2 superblock instead of a V1 superblock.
ChangeLog, jfs.h, jfs_compat.h, list.h:
  jfs.h, jfs_compat.h, list.h: New files added to support ext3.
2000-12-09 05:47:45 +00:00
Theodore Ts'o f20d0d57f7 ChangeLog, test_io.c:
test_io.c (test_write_blk, test_write_byte): Fix typos pointed out by
  	Andreas Dilger.
2000-12-05 03:53:41 +00:00
Theodore Ts'o f72df23a69 ChangeLog, compile_et.1:
compile_et.1: Fix a simple typo in the man page.
2000-12-04 23:49:07 +00:00
Theodore Ts'o 66d8c3f33f ChangeLog, fgetflags.c, fgetversion.c, fsetflags.c, fsetversion.c:
fgetflags.c (fgetflags):
  fgetversion.c (fgetversion):
  fsetflags.c (fsetflags):
  fsetversion.c (fsetversion): Use the LFS API if available so that the
  	files are opened with O_LARGEFILE.  Addresses Debian bug #72690.
2000-12-02 06:11:44 +00:00
Theodore Ts'o 72ed126483 ChangeLog, Makefile.in, e2image.h, ext2_err.et.in, ext2fs.h, imager.c:
imager.c (ext2fs_image_{inode,super,bitmap}_{read,write}, ext2_fs.h,
  	Makefile.in: New file that has routines that save ext2fs metadata to a
  	file.
  ext2_err.et.in (EXT2_ET_MAGIC_E2IMAGE): New error code assigned.
  e2image.h: New file which defines the file format for the ext2 image
  	file.  (Saved copy of ext2 metadata to a file as a saving throw
  	against worst-case damage.)
ChangeLog, Makefile.in, e2image.c:
  e2image.c, Makefile.in: New program which saves ext2 metadata to a
  	file for people who need a last-ditch saving throw.
2000-11-12 19:32:20 +00:00
Theodore Ts'o 6a7f455bb1 ChangeLog, inode.c:
inode.c (ext2fs_flush_icache): Add new function ext2fs_flush_icache()
  	which flushes the internal inode cache.  Applications which modify the
  	inode table blocks directly must call this function.
2000-11-12 19:07:06 +00:00
Theodore Ts'o 17ee8b17f9 ChangeLog, mkjournal.c:
mkjournal.c: Add #include of netinet/in.h, since Solaris requires it
  	for ntohl().
2000-10-26 20:45:58 +00:00
Theodore Ts'o c180ac8653 Many files:
ext2_io.h (io_channel_write_byte): Add new interface to allow callers
  	to write specific byte ranges.  This is an optional interface, which
  	not all IO channels may implement.
  unix_io.c (unix_write_byte): test_io.c (test_write_byte): Add
  	implementation of the write_byte function.
  closefs.c (write_primary_superblock, ext2fs_flush): Add a new function
  	which writes the primary superblock.  If the IO channel supports
  	writing raw bytes directly, only fields which were modified are
  	written to the disk.  This makes it safe(r) to use utilities like
  	tune2fs on a mounted filesystem.
  freefs.c (ext2fs_free): Free the original superblock if it is available.
  openfs.c (ext2fs_open): Store a copy of the original superblock when
  	opening it.
  ext2fs.h: Add a field to store the original superblock in the ext2
  	context structure.
2000-10-26 20:24:43 +00:00
Theodore Ts'o f5955dda1d ChangeLog, configure, configure.in, e2fsprogs.spec:
e2fsprogs.spec: Update spec file for Red Hat 7.0 compatibility
  configure.in: When compiling shared libraries for Solaris, use a
  	special-case Makefile fragment to deal with it.
Makefile.solaris-lib:
  New file for Solaris shared library builds.
2000-10-25 02:38:39 +00:00
Theodore Ts'o 4381966695 ChangeLog, llseek.c:
llseek.c: Add #ifdef's for IA64 (it's a 64-bit platform, so we don't
  	need to use llseek).
ChangeLog, fsck.c:
  fsck.c (device_already_active): Add a special case check for MD
  	devices, so we don't try to check them in parallel with other devices.
2000-10-25 02:06:09 +00:00
Theodore Ts'o d3cd93cabe ChangeLog, Makefile.in, ext2_err.et.in, ext2fs.h, jfs_dat.h, mkjournal.c:
Makefile.in, ext2fs.h, jfs_dat.h, mkjournal.c: Add functions for
  	creating an ext3 journal on a filesystem.
  ext2_err.et.in (EXT2_JOURNAL_NOT_BLOCK): Add new error code.
.del-ext2_fs.h~7a460879, ChangeLog:
  ext2_fs.h (EXT2_JOURNAL_INO): Add definition for EXT2_JOURNAL_INO;
  	reserve inode #7 for EXT2_RESIZE_INO.
TODO:
  Commit TOOD suggestion.
2000-10-24 18:33:16 +00:00
Theodore Ts'o adfc8c6c99 ChangeLog, ext2_io.h, unix_io.c:
unix_io.c: Make massive changes to support a multiple block
  	writethrough cacheing.
  ext2_io.h: Added flags field to the io_channel structure.
2000-10-18 19:22:24 +00:00
Theodore Ts'o f86fa6c748 finddev.c:
Fix stupid bug in finddev.c which could cause things to loop if the
  stat call failed.
2000-08-20 21:51:24 +00:00