Theodore Ts'o [Mon, 21 Mar 2005 18:15:45 +0000 (13:15 -0500)]
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.
Theodore Ts'o [Mon, 21 Mar 2005 06:02:53 +0000 (01:02 -0500)]
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.
Theodore Ts'o [Mon, 21 Mar 2005 01:05:22 +0000 (20:05 -0500)]
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.
Theodore Ts'o [Sat, 19 Mar 2005 01:37:45 +0000 (20:37 -0500)]
filefrag.c (frag_report): Automatically detect files that are
stored using the new experimental file fragments format,
and use the non-ext2 algorithm for determing the number of
extents. Avoid reporting a false discontinuity if there
is a non-allocated block (or extent) at the beginning of
the file.
Theodore Ts'o [Sat, 19 Mar 2005 01:11:59 +0000 (20:11 -0500)]
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.
Theodore Ts'o [Thu, 17 Mar 2005 06:16:34 +0000 (01:16 -0500)]
Force compile_et and mk_cmds to use /usr/bin/awk so that we will work
on any Debian system regardless of which version of awk is installed.
(Closes: #299341)
Theodore Ts'o [Fri, 4 Feb 2005 15:43:58 +0000 (10:43 -0500)]
Add support for maintainer mode, which enables the makefile rules
to rebuild the configure script from configure.in, and to reubuild the
.gmo files in po directory.
Theodore Ts'o [Fri, 4 Feb 2005 02:56:44 +0000 (21:56 -0500)]
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.
Theodore Ts'o [Fri, 28 Jan 2005 17:27:35 +0000 (12:27 -0500)]
pass2.c (e2fsck_process_bad_inode): Fix a corner case involving
big-endian systems, long symlinks and i_file_acl set when
it shouldn't be. Without this bugfix, f_clear_xattr will
fail on big-endian machines.
Theodore Ts'o [Fri, 28 Jan 2005 16:45:28 +0000 (11:45 -0500)]
Fix two bugs found by the regression test suites. The bug was created when
we changed ext2fs_create_resize_inode to always create the resize inode,
even when s_reserved_gdt_blocks is zero. Mke2fs and e2fsck was calling
ext2fs_create_resize_inode() unconditionally, and depending on
s_reserved_gdt_blocks to be zero, instead of explicitly checking the
resize_inode feature.
Theodore Ts'o [Fri, 28 Jan 2005 02:40:53 +0000 (21:40 -0500)]
Fixed missing not_fixed branch in e2fsck so that if the frag size field in
the inode is not fixed, the inode_bad_map bitmap won't be cleared. Thanks to
Stephen Tweedie for pointing this out.
Theodore Ts'o [Fri, 28 Jan 2005 00:51:47 +0000 (19:51 -0500)]
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.
Theodore Ts'o [Fri, 28 Jan 2005 00:12:05 +0000 (19:12 -0500)]
mke2fs.c (PRS): Don't use a blocksize greater than 4k, even on
2.6 kernels, unless explicitly requested by the user; not
all 2.6 kernels (includeing stock 2.6 kernels as of this
writing) don't support blocksizes > 4k.
Theodore Ts'o [Thu, 27 Jan 2005 23:47:51 +0000 (18:47 -0500)]
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.
Theodore Ts'o [Thu, 27 Jan 2005 19:28:41 +0000 (14:28 -0500)]
Fix e2fsck to not delete symlinks that contain an extended attribute after
the ext_attr feature flag has been cleared. (Addresses Red Hat Bugzilla
#146284)
Theodore Ts'o [Wed, 26 Jan 2005 15:03:56 +0000 (10:03 -0500)]
resize2fs.c: Fix bug where we don't release the blocks belonging
to the old inode table blocks when we move the inode
table. (Addresses Debian Bug: #290894)
Theodore Ts'o [Wed, 26 Jan 2005 04:42:56 +0000 (23:42 -0500)]
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.
Theodore Ts'o [Tue, 25 Jan 2005 08:26:10 +0000 (03:26 -0500)]
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)
Theodore Ts'o [Tue, 25 Jan 2005 08:09:24 +0000 (03:09 -0500)]
E2fsck will now check the individual block group inode and block free counts,
as well as the filesystem-wide inode and block free counts. If any of the
free counts is too large, force a full filesystem check. (Addresses
Debian Bug #291571)
Theodore Ts'o [Sun, 23 Jan 2005 21:49:56 +0000 (16:49 -0500)]
Fix e2fsck so that it does not complain if the resize_inode feature is
enabled, but s_reserved_gdt_blocks is zero and there is no double indirect
block in the resize inode. If there are no blocks reserved for on-line
expansion, there is no need for the DIND block to be allocated in the resize
inode.
Matthias Andree [Thu, 20 Jan 2005 02:17:31 +0000 (03:17 +0100)]
MCONFIG.in:
Rearrange -I options to give local includes precedence over
/usr/local/include, to unbreak the build when an older
e2fsprogs version (with includes) is installed under
/usr/local (for instance, on FreeBSD).
Theodore Ts'o [Wed, 19 Jan 2005 23:06:45 +0000 (18:06 -0500)]
r_resize_inode, m_dasd_bs, m_large_file, m_meta_bg, m_no_opt,
m_read_opt, m_std, run_mke2fs, filter_dumpe2fs: Make tests
portable so they pass correctly on a FreeBSD system.
Theodore Ts'o [Wed, 19 Jan 2005 18:26:38 +0000 (13:26 -0500)]
Cleanup C code in debugfs's setfield. Added missing return statement (turned
out it didn't cause a functional bug) and added #define _XOPEN_SOURCE on
non-Solaris systems to pick up strptime()'s definition.
Theodore Ts'o [Wed, 19 Jan 2005 17:59:48 +0000 (12:59 -0500)]
configure.in: Clean up checks for dirent.d_reclen, ssize_t,
llseek, lseek64, sockaddr.sa_len and make the lseek checks
immune to compiler warnings, so that they can be compiled
with Intel C++ 8.1.
Theodore Ts'o [Wed, 19 Jan 2005 04:29:01 +0000 (23:29 -0500)]
Make configure.in script check for prerequisite headers when checking for
the presence of sys/disk.h, sys/mount.h, and net/if.h, to improve
the configure script on Solaris and *BSD systems.
Matthias Andree [Thu, 13 Jan 2005 03:23:24 +0000 (04:23 +0100)]
f_dup_de, r_resize_inode: change ">& /dev/null" to ">/dev/null 2>&1"
for compatibility with FreeBSD. In $DEBUGFS commands, move the
-R arg argument first so that systems with non-GNU getopt()
can see the request argument (they would otherwise stop
parsing at the first non-option argument).
Matthias Andree [Thu, 13 Jan 2005 03:15:45 +0000 (04:15 +0100)]
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.
Theodore Ts'o [Sun, 9 Jan 2005 20:48:09 +0000 (15:48 -0500)]
Change the description field in the Debian package meta information to avoid
starting with an upper case character or starting with a definite or
indefinite article, to avoid Lintian warnings.
Theodore Ts'o [Sun, 9 Jan 2005 05:57:45 +0000 (00:57 -0500)]
Fix configure.in to use AC_CHECK_TYPES instead of the "broken by design"
autoconf 2.13 version of AC_CHECK_TYPE. Otherwise, on some platforms
intptr_t might get erroneously #define'd to be long. (Addresses
Debian Bug #289133)
Theodore Ts'o [Sat, 8 Jan 2005 03:47:20 +0000 (22:47 -0500)]
Fix minor typo's in the libblkid.txt documentation file --- thanks to Mike
Castle (dalgoda at ix.netcom.com) for pointing them out --- and clarify
the text describing blkid_put_cache().
Theodore Ts'o [Sat, 8 Jan 2005 03:09:49 +0000 (22:09 -0500)]
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.
Theodore Ts'o [Sat, 8 Jan 2005 02:04:46 +0000 (21:04 -0500)]
When generating tarballs for Debian builds, remove the hyphen in version
numbers such as "1.36-rc1", since Debian can't deal with version numbers
with '-' characters in them.
Theodore Ts'o [Thu, 6 Jan 2005 19:48:59 +0000 (14:48 -0500)]
badblocks.c (alarm_intr): Increase the number of spaces reserved
for printing block numbers, so we can correctly display
block numbers numbers greater than 999,999,999.
(Addresses SourceForge bug #1016163)