Theodore Ts'o [Mon, 22 Mar 2004 01:16:19 +0000 (20:16 -0500)]
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)
Theodore Ts'o [Mon, 8 Mar 2004 19:18:56 +0000 (14:18 -0500)]
e2image.8.in: Update manpage to detail that writing to stdout is
currently only supported when writing a raw image dump.
(Addresses Debian bug #236383)
Theodore Ts'o [Fri, 5 Mar 2004 01:30:16 +0000 (20:30 -0500)]
logsave.c (main): Use setsid() to avoid getting killed by init
(run_program): Add a newline after reporting the exit code
or signal when the program exits.
Theodore Ts'o [Fri, 27 Feb 2004 02:06:58 +0000 (21:06 -0500)]
badblocks.c (pattern_fill): Fix bug accidentally added when
fixing up gcc -Wall nits. badblocks -t random was not
getting handled properly because ~0 needed to be cast to
an unsigned long instead of an unsigned char. (Addresses
Debian bug #234828)
Theodore Ts'o [Tue, 24 Feb 2004 03:30:54 +0000 (22:30 -0500)]
debugfs.c (internal_dump_inode): Display the major/minor device
numbers for block/character devices.
(do_mknod): Add support for new-style device numbers (where
the major or minor number is greater than 255 and less
than 65535). (Addresses Sourceforge bug #865289)
Theodore Ts'o [Tue, 24 Feb 2004 02:26:23 +0000 (21:26 -0500)]
Makefile.in (PROFILED_LIBS, PROFILED_DEPLIBS): Fix reference to
libblkid so that the build will work with --enable-profile
(Addresses Sourceforge bug #811408)
Theodore Ts'o [Sun, 22 Feb 2004 02:02:15 +0000 (21:02 -0500)]
fsck.c (execute): Use '&&' instead of '&'. (It didn't cause a
problem because we got lucky, but let's do things right.
Fix from Thomas Woerner at Red Hat.)
Theodore Ts'o [Sun, 22 Feb 2004 01:53:03 +0000 (20:53 -0500)]
e2fsck.c (e2fsck_run): Clear the SETJMP_OK flag when returning
so we don't double longjump into an invalid stack frame.
(Thanks to Matthias Andree for providing this fix.)
Theodore Ts'o [Sun, 1 Feb 2004 02:24:51 +0000 (21:24 -0500)]
problem.c (fix_problem): Don't call print_e2fsck_message if the
message is empty; otherwise, the NLS substitution will
print the .po header, which is Just Wrong.
Theodore Ts'o [Sun, 1 Feb 2004 02:16:35 +0000 (21:16 -0500)]
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.
Theodore Ts'o [Fri, 30 Jan 2004 07:07:13 +0000 (02:07 -0500)]
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.
Theodore Ts'o [Fri, 30 Jan 2004 06:48:06 +0000 (01:48 -0500)]
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.
Theodore Ts'o [Fri, 26 Dec 2003 19:03:20 +0000 (14:03 -0500)]
chattr.1.in: Update text indicating the 'c', 's', and 'u'
attributes are not currently supported to remove any
mention of a specific kernel version. (Addresses Debian
bug #214920)
Theodore Ts'o [Thu, 25 Dec 2003 19:28:55 +0000 (14:28 -0500)]
Try to use the DEBUGFS_PAGER environment
variable first, and then fall back to the PAGER
environment variable. Finally, search for an appropriate
pager executable.
Theodore Ts'o [Fri, 12 Dec 2003 08:00:56 +0000 (03:00 -0500)]
Fix bug in e2fsck: When reconnecting a directory, we may
need to create a lost+found directory. This may
invalidate our pointer to the directory information, so we
must look it up again after calling
e2fsck_reconnect_file(). (Addresses Debian bug #219640).
Theodore Ts'o [Thu, 11 Dec 2003 16:54:48 +0000 (11:54 -0500)]
debugfs.c (do_write, do_mkdir): If the directory is full,
automatically call ext2fs_expand_dir() and then retry to
add the link to the directory as a convenience to the
user. (Addresses Debian Bug: #217892)
(do_mknod): Clean up expand_dir error handling.
Theodore Ts'o [Thu, 11 Dec 2003 06:00:21 +0000 (01:00 -0500)]
e2fsck.h (E2F_FLAG_RESTARTED): Assign a unique flag bitfield to
E2F_FLAG_RESTARTED. This fixes a bug where if the user
specifies an alternate superblock, and the journal needs
to be replayed, e2fsck would erroneously assume that
journal had been run already without clearing the
NEEDS_RECOVERY flag, and bomb out with an error.
Theodore Ts'o [Sun, 7 Dec 2003 18:16:25 +0000 (13:16 -0500)]
util.c (open_pager): Search for the pager to use, starting with
'pager', and then falling back to 'less' and then 'more'.
(Addresses Debian Bug: #221977)
Theodore Ts'o [Tue, 2 Dec 2003 12:56:42 +0000 (07:56 -0500)]
When testing a disk using e2fsck -c, use the list
of new bad blocks to replace the current list of bad
blocks. This way "e2fsck -c" can be used to recover from
a corrupted bad block inode.
Theodore Ts'o [Sat, 22 Nov 2003 18:54:38 +0000 (13:54 -0500)]
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)
Theodore Ts'o [Fri, 21 Nov 2003 16:02:22 +0000 (11:02 -0500)]
In e2fsck, given an extra grace period before actually forcing
a filesystem check if a laptop system reports it is running on
battery. This way the laptop will be biased to waiting until
it is on AC power before doing a filesystem check. (Addresses
Debian bug #205177)
Theodore Ts'o [Fri, 21 Nov 2003 15:41:58 +0000 (10:41 -0500)]
pass1.c (e2fsck_pass1), problem.h (PR_1_BB_FS_BLOCK),
problem.c (PR_1_BB_FS_BLOCK, PR_1_BBINODE_BAD_METABLOCK_PROMPT):
Fix up the handling of corrupted indirect blocks in the
bad block. We now correctly handle the case where there
is an overlap between a block group descriptor or
a superblock and a bad block indirect block. In the case
where the indirect block is corrupted, we now suggest
"e2fsck -c".
Theodore Ts'o [Fri, 21 Nov 2003 14:10:29 +0000 (09:10 -0500)]
Check the returned name from blkid_get_devname in tune2fs and
e2fsck, and print an error if the requested LABEL/UUID does
not exist (previously, we core dumped!)
Theodore Ts'o [Fri, 21 Nov 2003 14:02:21 +0000 (09:02 -0500)]
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.
Mke2fs has been modified to honor the MKE2FS_SKIP_PROGRESS,
MKE2FS_DEVICE_SECTSIZE, and MKE2FS_SKIP_CHECK_MSG in order
facilitate the regression testing.
mke2fs.c (set_fs_defaults): Fix bug which caused -T largefile or
-T largefile4 to core dump due to a division by zero
error. (Addressed Debian bug #207082)