OSDN Git Service
Theodore Ts'o [Mon, 30 Mar 1998 01:08:41 +0000 (01:08 +0000)]
ChangeLog, test_icount.c, test_icount.h:
test_icount.h (do_dump, do_validate): Add prototypes to fix -Wall
warnings.
test_icount.c: Fix -Wall warnings.
ChangeLog, extent.c, main.c:
extent.c (extent_cmp): Add const to cast to prevent -Wall warning.
main.c (check_mount): Rename function argument to prevent -Wall
warning.
Theodore Ts'o [Sat, 28 Mar 1998 06:44:38 +0000 (06:44 +0000)]
pass1.c:
Change "long long" to be __s64
Theodore Ts'o [Tue, 24 Mar 1998 16:27:11 +0000 (16:27 +0000)]
ChangeLog, main.c, resize2fs.c:
main.c (main): Check to make sure we can really resize this
filesystem. If there are compatible feature sets that we don't
support, we need to abort.
resize2fs.c: Change to use the new prototype required by
block_iterate2 (which uses blkcnt_t for the blockcount).
version.h, RELEASE-NOTES:
Interim commit of changes to date.
Theodore Ts'o [Tue, 24 Mar 1998 16:22:38 +0000 (16:22 +0000)]
Many files:
unix.c: Fix bug in check of feature set, to make sure we can really
fix this filesystem.
problem.h: Make blkcount type to be of type blkcnt_t. Make the num
field be a 64 bit type. Add the problem code PR_1_FEATURE_LARGE_FILES
problem.c: Add table entry for the problem code PR_1_FEATURE_LARGE_FILES.
pass1.c (e2fsck_pass1): A non-zero i_dir_acl field is only a problem
for directory inodes. (Since it is also i_size_high now.) If there
are no large_files, then clear the LARGE_FLAG feature flag. If there
are large_files, but the LARGE_FLAG feature flag is not set, complain
and offer to fix it.
(check_blocks): Add support to deal with non-directory inodes that
have i_size_high set (i.e., large_files). Don't give an error if a
directory has preallocated blocks, to support the DIR_PREALLOC
feature.
(process_block, process_bad_block): The blockcnt variable is a type of
blkcnt_t, for conversion to the new block_iterate2.
pass2.c (process_bad_inode): A non-zero i_dir_acl field is only a
problem for directory inodes. (Since it is also i_size_high now.)
message.c (expand_inode_expression): Print a 64-bits of the inode size
for non-directory inodes. (Directory inodes can only use a 32-bit
directory acl size, since i_size_high is shared with i_dir_acl.) Add
sanity check so that trying to print out the directory acl on a
non-directory inode will print zero. (expand_percent_expression): %B
and %N, which print pctx->blkcount and pctx->num, can now be 64 bit
variables. Print them using the "%lld" format if EXT2_NO_64_TYPE is
not defined.
e2fsck.h: Add the large_flagsfield to the e2fsck context.
e2fsck.c (e2fsck_reset_context): Clear the large_flags field.
ChangeLog, expect.1:
f_messy_inode: Modify test to deal with changes to support 64-bit size
files. (/MAKEDEV had i_dir_acl, now i_size_high, set.)
Theodore Ts'o [Tue, 24 Mar 1998 16:17:51 +0000 (16:17 +0000)]
Many files:
block.c (ext2fs_block_iterate3): Make the ref_offset field contain the
offset into the inode.i_blocks array when ref_block is zero. Since we
haven't done a formal release of e2fsprogs since block_iterate2 was
first introduced, I removed block_iterate2, and renamed block_iterate3
to be block_iterate2.
bb_inode.c, bmove.c, dblist_dir.c, dir_iterate.c, expanddir.c,
ext2fs.h, ext2fsP.h, read_bb.c: Change use of block_iterate and
block_iterate2 to block_iterate2 with the new prototype for the
interator function. (using blkcnt_t forr blockcount)
ChangeLog, debugfs.c, ls.c, lsdel.c:
debugfs.c, ls.c, lsdel.c: Add support for large files. (The high 32
bits share space with the i_dir_acl field.)
Theodore Ts'o [Tue, 24 Mar 1998 16:09:18 +0000 (16:09 +0000)]
ChangeLog, .del-ext2_fs.h~
7a460879:
Update to latest 2.1.90+diffs version of ext2_fs.h
Theodore Ts'o [Mon, 23 Mar 1998 02:06:52 +0000 (02:06 +0000)]
Many files:
ext2fs.h: Add new superblock fields (s_algorithm_usage_bitmap,
s_prealloc_blocks, s_prealloc_dir_blocks). Added conditional defines
of new features COMPAT_DIR_PREALLOC, RO_COMPAT_LARGE_FILE
RO_COMPAT_BTREE_DIR, INCOMPAT_COMPRESSION, INCOMPAT_DIRNAME_SIZE.
Changed the library to declare that we support COMPAT_DIR_PREALLOC,
INCOMPAT_DIRNAME_SIZE, RO_COMPAT_LARGE_FILE.
fileio.c: Rename function ext2fs_file_llseek to be ext2fs_file_lseek,
which is more accurate.
block.c: Add new function ext2fs_block_iterate3 which calls the
iterator function with the blockcount argument of type blkcnt_t. This
version of the function is allowed to handle large files; the other
fucntions are not.
ext2fs.h: Add new type blkcnt_t
ext2_err.et.in: Add error code EXT2_ET_FILE_TOO_BIG
block.c (ext2fs_block_iterate2): Fix bug where the block count field
wasn't getting correctly incremented for sparse files when the
indirect or doubly-indirect block specified in the inode was zero.
unlink.c (unlink_proc):
lookup.c (lookup_proc):
link.c (link_proc):
get_pathname.c (get_pathname_proc):
dir_iterate.c (ext2fs_process_dir_block): Mask off high 8 bits from
dirent->name_len, so it can be used for other purposes.
ext2fs.h: Add definition of EXT2_FEATURE_INCOMPAT_DIRNAME_SIZE, and
indicate that we have support for this incompatible option.
Theodore Ts'o [Sat, 21 Mar 1998 07:12:46 +0000 (07:12 +0000)]
ChangeLog, mke2fs.c:
Fixed spelling typo in warning message. Fixed up -Wall warnings in
file.
Many files:
Update latest version of the build files for resize2fs.
Theodore Ts'o [Sat, 21 Mar 1998 03:27:48 +0000 (03:27 +0000)]
ChangeLog, resize2fs.c:
resize2fs.c (inode_scan_and_fix): If we are expanding the filesystem,
temporarily set rfs->old_fs->super->s_blocks_count to ultimate size of
the filesystem, to avoid catching an error on the block iterator.
Theodore Ts'o [Mon, 9 Mar 1998 17:41:53 +0000 (17:41 +0000)]
ChangeLog, main.c, .del-resize2fs-1.12.spec~
70080ffd, resize2fs.8.in:
Decouple version numbers from the base e2fsprogs release.
Theodore Ts'o [Mon, 9 Mar 1998 13:10:37 +0000 (13:10 +0000)]
ChangeLog, message.c, pass2.c, pass3.c:
Mask off the high eight bits of the directory entry's name_len field,
so that it can be used for other purposes.
Theodore Ts'o [Mon, 9 Mar 1998 13:07:09 +0000 (13:07 +0000)]
ChangeLog, ls.c:
Mask off high 8 bits from dirent->name_len.
Many files:
The ext2 version and flags ioctl's take an int *, not a long *. Fix
library to use the correct type, so we don't have problems on the
Alpha.
Theodore Ts'o [Mon, 9 Mar 1998 03:34:48 +0000 (03:34 +0000)]
ChangeLog, gen_uuid.c:
gen_uuid.c (get_node_id): Use char * instead of caddr_t, which doesn't
always exist for glibc.
Theodore Ts'o [Mon, 9 Mar 1998 03:23:51 +0000 (03:23 +0000)]
ChangeLog, partinfo.c:
The ioctl BLKGETSIZE requires a long, not an int.
Theodore Ts'o [Sat, 7 Mar 1998 23:36:45 +0000 (23:36 +0000)]
Makefile.in, ChangeLog:
Change the name of the complete source file that we built (that
includes resize2fs) to be e2fsprogs-ALL-<version>.tar.gz. Don't link
with libuuid, since it's not needed.
resize2fs.8.in:
Add copyright statement.
Many files:
Update packaging for the resize2fs program.
Theodore Ts'o [Sat, 7 Mar 1998 23:26:26 +0000 (23:26 +0000)]
main.c, ChangeLog:
Add copyright notice.
Theodore Ts'o [Sat, 7 Mar 1998 23:24:01 +0000 (23:24 +0000)]
ChangeLog, resize2fs.c:
resize2fs.c (blocks_to_move): Create the meta_bmap using the old
filesystem, not the new filesystem.
(get_new_block): Don't try checking the old block bitmap if the block
we're testing is beyond the boundaries of the old filesystem.
Theodore Ts'o [Wed, 4 Mar 1998 16:29:30 +0000 (16:29 +0000)]
jump.funcs:
Updated to reflect new library function calls.
Theodore Ts'o [Fri, 27 Feb 1998 06:04:23 +0000 (06:04 +0000)]
ChangeLog, Makefile.in, main.c:
Makefile.in: Add rule to build a static version of resize2fs. Update
dependency rules.
main.c: #include ../version.h, instead of using a hard-coded version
string.
Theodore Ts'o [Fri, 27 Feb 1998 05:03:48 +0000 (05:03 +0000)]
ChangeLog, e2fsck.c, e2fsck.h, pass1.c:
e2fsck.c (e2fsck_run): Since E2F_FLAG_SIGNAL_MASK doesn't
include EXT2_FLAG_RESTART anymore, we need to adjust this
routine so that it *does* return in the case of it seeing
EXT2_FLAG_RESTART.
pass1.c (e2fsck_pass1): ext2_get_next_inode() may call the group done
callback function, which may set context abort flags. So we need to
test the context abort flags after we call ext2_get_next_inode().
(process_inodes): If we abort due out of process_inodes, do a clean
exit by breaking out of the for loop instead of just returning.
e2fsck.h (E2F_FLAG_SIGNAL_MASK): EXT2_FLAG_RESTART shouldn't be
considered a SIGNAL mask (i.e., requiring an immediate abort of
processing to restart). FLAG_RESTART just means that we want to
restart once pass 1 is complete.
Theodore Ts'o [Fri, 27 Feb 1998 01:24:49 +0000 (01:24 +0000)]
version.h:
Update version date.
Theodore Ts'o [Tue, 24 Feb 1998 20:24:49 +0000 (20:24 +0000)]
ChangeLog, main.c, resize2fs.c, resize2fs.h:
Change the progress function to return an errcode_t; this allows the
progress function to return a error indicating a user-requested
cancel.
Theodore Ts'o [Tue, 24 Feb 1998 20:22:23 +0000 (20:22 +0000)]
Many files:
Change the progress function to return an integer; if returns 1, then
the progress function is expected to have set the e2fsck context flag
signalling a user abort, and the caller should also initiate a user
abort.
Theodore Ts'o [Tue, 24 Feb 1998 04:25:52 +0000 (04:25 +0000)]
ChangeLog, ext2_err.et.in:
Added new error code, EXT2_ET_CANCEL_REQUESTED.
Theodore Ts'o [Tue, 24 Feb 1998 03:20:51 +0000 (03:20 +0000)]
.del-e2fsprogs-1.12.spec~
2cb50db6:
Misc. spec file cleanups. Use URL for the source, and make
the development package require the base e2fsprogs package.
Theodore Ts'o [Sat, 21 Feb 1998 05:01:19 +0000 (05:01 +0000)]
ChangeLog, dblist.c:
dblist.c (ext2fs_get_num_dirs): Improve the estimation of the number
of directories when the block group information is unreliable.
Theodore Ts'o [Sat, 21 Feb 1998 04:57:31 +0000 (04:57 +0000)]
version.h:
Update the version date.
ChangeLog:
Fix typo.
Theodore Ts'o [Sat, 21 Feb 1998 04:20:44 +0000 (04:20 +0000)]
ChangeLog, main.c, resize2fs.8.in, resize2fs.c:
main.c (check_mount, main): Resize2fs now checks the size of the
partition, and uses this as a default new_size of the partition if one
is not specified. Resize2fs will not let you resize a mounted
partition.
resize2fs.c: Change how the progress function for the INODE_SCAN pass
is performed, so that the maximum size is never zero.
resize2fs.8.in: Updated man page.
Theodore Ts'o [Sat, 21 Feb 1998 03:14:50 +0000 (03:14 +0000)]
RELEASE-NOTES:
Updated as of February 20th, 1998.
Theodore Ts'o [Sat, 21 Feb 1998 01:41:39 +0000 (01:41 +0000)]
.del-ChangeLog~
905e7699, image.gz:
Set the immutable flag on the block and character device so that
e2fsck notices them as bad devices, and offers to fix them. E2fsck
currently only checks devices with the immutable flag set, since
otherwise there might be some false positives --- the kernel doesn't
always clear the all of i_blocks[n], n>=4, due to a race condition.
ChangeLog, inode.c:
inode.c (ext2fs_get_next_inode): Always do the check to see if the
inode table is missing so that we catch the case where the first block
group is missing.
Theodore Ts'o [Fri, 20 Feb 1998 05:33:14 +0000 (05:33 +0000)]
ChangeLog, getsize.c, ismounted.c, unix_io.c:
getsize.c, ismounted.c, unix_io.c: #include errno.h since it's needed.
Theodore Ts'o [Fri, 20 Feb 1998 05:24:59 +0000 (05:24 +0000)]
ChangeLog, pass5.c:
pass5.c (check_block_bitmaps, check_inode_bitmaps): Don't call
end_problem_latch() unless there was actually a problem latched.
Simplifies semantics of the latch processing.
Theodore Ts'o [Mon, 16 Feb 1998 22:34:46 +0000 (22:34 +0000)]
ChangeLog, e2fsck.8.in, e2fsck.h, pass3.c, pass4.c, super.c:
e2fsck.h: Add new field, priv_data to the e2fsck context structure.
It should be used by callers of the e2fsck functions only, and not by
anything in e2fsck itself.
super.c: Instead of call ext2fs_get_device_size(), define and call
e2fsck_get_device_size(). (This function may be stubbed out in
special versions of e2fsck.)
pass3.c, pass4.c: Remove extra calls to the progress function that
weren't needed.
mke2fs.8.in: Update man page to note that the format of the bad block
file is the same as the one generated by badblocks.
Theodore Ts'o [Mon, 16 Feb 1998 22:29:34 +0000 (22:29 +0000)]
ChangeLog, badblocks.8.in, mke2fs.c:
badblocks.8: Update documentation to note that output format of
badblocks is suitable for use with e2fsck -l or mke2fs -l.
mke2fs.c (handle_bad_blocks): Fix bug so that all groups with bad
superblock backup blocks are printed (not just the first one).
Theodore Ts'o [Mon, 16 Feb 1998 22:16:20 +0000 (22:16 +0000)]
Many files:
Major reoganization of how resizing works. Functions in
ext2_block_move.c, and ext2_inode_move.c moved into resize2fs.c.
Multiple passes in those two files also combined into a single inode
scanning pass. Made the inode table moving function better handling
the case where it needs to abort mid-operation. When moving blocks
around, made the block allocation function preferentially avoid the
old group descriptor blocks, to make resize2fs more robust.
Theodore Ts'o [Mon, 16 Feb 1998 22:00:37 +0000 (22:00 +0000)]
ChangeLog, bmove.c, ext2_io.h, ext2fs.h, rw_bitmaps.c, test_io.c:
ext2_io.h, ext2fs.h: Protect against being included multiple times.
bmove.c: #include ext2fsP.h instead of "ext2fs/ext2fs.h"
test_io.c (test_flush): Add a debugging printf when the flush method
is called.
rw_bitmaps.c (ext2fs_read_bitmaps): If the bitmaps are already read
in, return right away.
Theodore Ts'o [Fri, 13 Feb 1998 22:58:18 +0000 (22:58 +0000)]
Many files:
resize2fs.c, resize2fs.h, ext2_block_move.c, ext2_inode_move.c,
main.c: Reorganize how the progress functions are called.
Theodore Ts'o [Sun, 1 Feb 1998 13:23:02 +0000 (13:23 +0000)]
ChangeLog, bitops.h, ext2fs.h, icount.c, version.c:
bitops.h: Don't try to do i386 inline asm functions if the compiler
isn't GCC.
ext2fs.h: If EXT2_FLAT_INCLUDES is defined, #include e2_types.h,
instead of linux/types.h, and e2_bitops.h instead of ext2fs/bitops.h.
icount.c, version.c: Don't #include <et/com_err.h>, as it isn't necessary.
Theodore Ts'o [Sun, 1 Feb 1998 12:58:48 +0000 (12:58 +0000)]
ChangeLog, dirinfo.c, e2fsck.c, e2fsck.h, super.c:
dirinfo.c, e2fsck.c: Don't include com_err.h; it isn't needed.
e2fsck.h: Include <time.h> since it is needed
super.c: If EXT2_SKIP_UUID is defined, then skip the UUID processing.
Theodore Ts'o [Sun, 1 Feb 1998 00:16:40 +0000 (00:16 +0000)]
ChangeLog, e2fsck.8.in, unix.c:
unix.c (main): In the case where the filesystem revision is too high,
print the message about the superblock possibly being corrupt.
e2fsck.8.in: Add expanded comments about how the -b option works.
Theodore Ts'o [Mon, 19 Jan 1998 15:02:12 +0000 (15:02 +0000)]
ChangeLog, .del-e2fsprogs-1.12.spec~
2cb50db6:
Update spec file in preparataion for 1.12 release.
Theodore Ts'o [Mon, 19 Jan 1998 14:55:24 +0000 (14:55 +0000)]
Many files:
resize2fs.h: If EXT2_FLAT_INCLUDES is defined, then assume all
of the ext2-specific header files are in a flat directory.
ext2_block_move.c, ext2_inode_move.c, extent.c, resize2fs.c,
resize2fs.h: Rename variables named "new" to "new_block",
"new_inode", or "new_loc" to avoid C++ reserved word
clash.
ext2_block_move.c, ext2_inode_move.c, extent.c, resize2fs.c,
sim_progress.c: Use ext2fs_get_memory(),
ext2fs_free_memory(), et. al., instead of malloc() and
free().
ext2_block_move.c, ext2_inode_move.c, extent.c: Explicitly cast
all assignments from void * to be compatible with C++.
banalysis.c, banalysis.h, ext2_inode_move.c, ext2_block_move.c:
Change private to priv_data to avoid C++ namespace clash.
ChangeLog, badblocks.8.in:
badblocks.8.in: Add documentation for the -s option.
Theodore Ts'o [Mon, 19 Jan 1998 14:50:49 +0000 (14:50 +0000)]
Many files:
e2fsck.h: If EXT2_FLAT_INCLUDES is defined, then assume all of
the ext2-specific header files are in a flat directory.
dirinfo.c, ehandler.c, pass1.c, pass1b.c, pass2.c, pass5.c,
super.c, swapfs.c, unix.c: Explicitly cast all assignments
from void * to be compatible with C++.
unix.c (sync_disk): Remove sync_disk and calls to that function,
since ext2fs_close() now takes care of this.
pass1.c, pass1b.c, pass2.c, pass3.c, swapfs, badblocks.c,
ehandler.c, unix.c: Change use of private to be priv_data, to
avoid C++ reserved name clash.
Theodore Ts'o [Mon, 19 Jan 1998 14:47:53 +0000 (14:47 +0000)]
Many files:
inode.c (ext2fs_open_inode_scan): Initialize the group variables
so that we don't need to call get_next_blockgroup() the first
time around. Saves a bit of time, and prevents us from
needing to assign -1 to current_group (which is an unsigned
value).
icount.c (insert_icount_el): Cast the estimated number of inodes
from a float to an ino_t.
alloc.c, alloc_tables.c, badlbocks.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,
ext2fs.h, fileio.c, freefs.c, get_pathname.c, getsize.c,
icount.c, initialize.c, inline.c, inode.c, irel_ma.c,
ismounted.c, link.c, lookup.c, mkdir.c, namei.c, native.c,
newdir.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_getsize.c, tst_iscan.c, unix_io.c, unlink.c, valid_blk.c,
version.c: If EXT2_FLAT_INCLUDES is defined, then assume all
of the ext2-specific header files are in a flat directory.
block.c, bmove.c, dirblock.c, fileio.c: Explicitly cast
all assignments from void * to be compatible with C++.
closefs.c (ext2fs_flush): Add a call to io_channel_flush() to
make sure the contents of the disk are flushed to disk.
dblist.c (ext2fs_add_dir_block): Change new to be new_entry to
avoid C++ namespace clash.
bitmaps.c (ext2fs_copy_bitmap): Change new to be new_map to
avoid C++ namespace clash.
ext2fs.h, bb_inode.c, block.c, bmove.c, brel.h, brel_ma.c,
irel.h, irel_ma.c, dblist.c, dblist_dir.c, dir_iterate.c,
ext2fsP.h, expanddir.c, get_pathname.c, inode.c, link.c,
unlink.c: Change private to be priv_data (to avoid C++
namespace clash)
Theodore Ts'o [Mon, 19 Jan 1998 14:40:24 +0000 (14:40 +0000)]
ChangeLog, subst.c:
subst.c: Rename "new" to "new_f" to avoid C++ reserved word clash.
subst.c: Explicitly cast all assignments from void * to be compatible
with C++.
Theodore Ts'o [Sat, 17 Jan 1998 07:19:38 +0000 (07:19 +0000)]
README:
Update for version 1.12.
configure:
Reflect recent changes to configure.in
.
Theodore Ts'o [Mon, 1 Dec 1997 18:24:10 +0000 (18:24 +0000)]
Many files:
dblist.c (ext2fs_get_num_dirs): Make ext2fs_get_num_dirs more paranoid
about validating the directory counts from the block group
information.
all files: Don't include stdlib.h anymore; include it in ext2_fs.h,
since that file requires stdlib.h
ChangeLog, Makefile.in, dirinfo.c:
dirinfo.c (e2fsck_add_dir_info): Use ext2fs_get_num_dirs instead of
e2fsck_get_num_dirs, which has been removed.
Makefile.in (PROGS): Remove @EXTRA_PROGS@, since we don't want to
compile and install flushb.
ChangeLog, configure.in:
Remove @EXTRA_PROGS@, since we aren't using it in 2fsck/Makefile.in anymore
ChangeLog, Makefile.in:
Install debugfs in /sbin, instead of /usr/sbin.
libext2fs.texinfo:
Update version string to be 1.12
Makefile.in:
Fix bug in find script which made the exclusion list, where a '-' was
missing from an -name option.
Theodore Ts'o [Fri, 28 Nov 1997 14:45:09 +0000 (14:45 +0000)]
partinfo.c:
Add preliminary version of the partinfo program.
Theodore Ts'o [Mon, 24 Nov 1997 11:51:17 +0000 (11:51 +0000)]
ChangeLog, pass1.c, util.c:
pass1.c (e2fsck_pass1_check_device_inode): For now, only check to make
sure the extra i_blocks in a device are cleared if the immutable flag
is set.
util.c (print_resource_track): Fix typo which caused the time/resource
tracking to print "Pass 1 :" instead of "Pass 1: ".
version.h:
Change version to 1.12-WIP, in preparation for an e2fsprogs 1.12 release.
Theodore Ts'o [Mon, 24 Nov 1997 11:46:33 +0000 (11:46 +0000)]
Many files:
Start preparation for the 1.12 release.
Theodore Ts'o [Mon, 24 Nov 1997 11:44:25 +0000 (11:44 +0000)]
ChangeLog, expanddir.c:
expanddir.c (ext2fs_expand_dir): Check to make sure the block bitmap
is loaded, and return an error if it is not.
expanddir.c (expand_dir_proc): Only use ext2fs_write_dir_block when
writing a directory block, not when writing out a fresh indirect
block.
Theodore Ts'o [Thu, 20 Nov 1997 21:52:43 +0000 (21:52 +0000)]
ChangeLog, pass3.c:
Fix bug which could cause core dump when expanding the directory, and
the bitmaps hadn't yet been read in. Also, only use
ext2fs_write_dir_block when writing a directory block, not when
writing out a fresh indirect block.
Theodore Ts'o [Wed, 19 Nov 1997 21:39:13 +0000 (21:39 +0000)]
ChangeLog, pass1.c:
Fix bug where first_block wasn't getting incremented, which caused
user to get a "Programming error?" warning if there was a bad block in
a non-primary superblock/group_descriptor. Also fixed another bug so
that ext2fs_bg_has_super() is consulted, to avoid problems when using
a filesystem with the sparse_groups option set and there are bad
blocks at the beginning of a group which doesn't have a superblock.
Theodore Ts'o [Fri, 14 Nov 1997 05:23:04 +0000 (05:23 +0000)]
Many files:
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c: Add calls to the progress
indicator function.
pass1.c (scan_callback): Add call to the progress feedback function
(if it exists).
super.c (check_super_block): Skip the device size check if the
get_device_size returns EXT2_EXT_UNIMPLEMENTED.
iscan.c (main): Don't use fatal_error() anymore.
pass1b.c, swapfs.c, badblocks.c: Set E2F_FLAG_ABORT instead of calling
fatal_error(0).
problem.c, pass3.c (PR_3_ROOT_NOT_DIR_ABORT,
PR_3_NO_ROOT_INODE_ABORT): New problem codes.
problem.c, pass2.c (PR_2_SPLIT_DOT): New problem code.
problem.c, pass1.c (PR_1_SUPPRESS_MESSAGES): New problem code.
problemP.h: New file which separates out the private fix_problem data
structures.
util.c, dirinfo.c, pass1.c, pass1b.c, pass2.c, pass5.c, super.c,
swapfs.c util.c: allocate_memory() now takes a e2fsck context as its
first argument, and rename it to be e2fsck_allocate_memory().
problemP.h:
New file which contains the private problem abstraction definitions.
Makefile.pq:
Remove include of MAKEFILE.STD, which doesn't exist at this point.
Theodore Ts'o [Wed, 12 Nov 1997 03:48:07 +0000 (03:48 +0000)]
ChangeLog, Makefile.in, Makefile.pq, ext2_err.et.in, tst_getsize.c:
Makefile.in, tst_getsize.c: Added new file which is used to test the
ext2fs_get_device_size function.
ext2_err.et.in (EXT2_ET_UNIMPLEMENTED): Added new error code.
Theodore Ts'o [Wed, 12 Nov 1997 03:45:34 +0000 (03:45 +0000)]
configure:
Check for the existence of setjmp.h
Theodore Ts'o [Mon, 10 Nov 1997 16:14:16 +0000 (16:14 +0000)]
ChangeLog, configure.in:
Add check for setjmp.h
Theodore Ts'o [Tue, 4 Nov 1997 04:25:22 +0000 (04:25 +0000)]
ChangeLog, unix.c:
Add a special case check for the error code EROFS and display an
appropriate error message for this case.
Theodore Ts'o [Tue, 4 Nov 1997 00:31:22 +0000 (00:31 +0000)]
ADD TAG: PQ_SNAPSHOT_971103
Theodore Ts'o [Tue, 4 Nov 1997 00:31:22 +0000 (00:31 +0000)]
ChangeLog, resize2fs.h:
Remove STDC magic, since everyone is STDC these days.
Theodore Ts'o [Tue, 4 Nov 1997 00:26:14 +0000 (00:26 +0000)]
Makefile.pq:
Add dirinfo.obj to the list of files to compile.
Theodore Ts'o [Mon, 3 Nov 1997 19:46:49 +0000 (19:46 +0000)]
Many files:
resize2fs.c, ext2_block_move.c ext2_inode_move.c: Only include printf
statements if RESIZE2FS_DEBUG is defined.
main.c: Don't read in the bitmaps since resize2fs.c does that.
e2label.c, mke2fs.c:
Adjust header files.
Theodore Ts'o [Mon, 3 Nov 1997 19:42:40 +0000 (19:42 +0000)]
Many files:
Change ext2fs_read_inode, ext2fs_write_inode to take the e2fsck
context as their first argument.
Change dir_info.c routines to take an e2fsck_context, renamed them to
start with e2fsck_ to avoid namespace issues, and changed them to
store the directory information inside the e2fsck context.
Added e2fsck_run() which calls all of the e2fsck passes in the correct
order, and which handles the return of abort codes.
Added abort processing, both via setjmp/longjmp and via flags in the
e2fsck context.
Use a flag in the e2fsck context instead of the restart_e2fsck global
variable.
Change uses of free and malloc to ext2fs_free_mem and ext2fs_get_mem.
Theodore Ts'o [Mon, 3 Nov 1997 19:16:55 +0000 (19:16 +0000)]
ChangeLog, bitops.c, ext2fs.h, fileio.c:
ext2fs.h: Make ext2fs_get_mem take an unsigned argument.
fileio.c (ext2fs_file_get_size, ext2fs_file_set_size, ext2fs_file_get_fs):
New functions added.
bitops.c (ext2fs_warn_bitmap, ext2fs_warn_bitmap2): Don't call com_err
if OMIT_COM_ERR is defined.
Theodore Ts'o [Fri, 31 Oct 1997 06:25:24 +0000 (06:25 +0000)]
Makefile.pq, libecho.c:
echo function for Windows
Theodore Ts'o [Fri, 31 Oct 1997 06:17:08 +0000 (06:17 +0000)]
ext2fs.h, ext2_err.et.in, ChangeLog, pass1.c, pass3.c:
Rename new error codes to _ET_ in them for consistency.
ChangeLog, et_c.awk, et_h.awk:
Remove support for non STDC compilers, since the workarounds caused
problems with the header file.
Makefile.pq:
Checkpoint of powerquest work.
Theodore Ts'o [Fri, 31 Oct 1997 06:07:47 +0000 (06:07 +0000)]
Many files:
Rename new error codes to have _ET_ in them for consistency.
Theodore Ts'o [Sun, 26 Oct 1997 03:41:24 +0000 (03:41 +0000)]
Many files:
Added definition of ext2fs_get_mem, ext2fs_free_mem, and
ext2fs_resize_mem in ext2fs.h, and changed all library routines to use
these wrapper functions.
Theodore Ts'o [Sun, 26 Oct 1997 01:53:39 +0000 (01:53 +0000)]
bmap.c:
Fix buggy use of the INLINE macros.
ChangeLog, dblist.c, ext2_err.et.in, mkdir.c:
dblist.c, mkdir.c: use EXT2_DIR_EXISTS and EXT2_DB_NOT_FOUND instead
of the system error messages.
ext2_err.et.in: Added new error messages EXT2_DIR_EXISTS and
EXT2_DB_NOT_FOUND
Theodore Ts'o [Sat, 25 Oct 1997 23:50:09 +0000 (23:50 +0000)]
version.h:
Update version.h for interim release
ChangeLog, Makefile.in, test_icount.c:
Makefile.in (PROGS): Remove test_rel from the test programs that we
build for now.
test_icount.c: Fix some random lint warnings.
Makefile.in:
Fix typo in removing brel_ma.o and irel_ma.o from the Makefile
Theodore Ts'o [Sat, 25 Oct 1997 22:43:58 +0000 (22:43 +0000)]
ChangeLog, script:
Add scripts to skip the e_brel_bma and e_irel_ima tests (since they
have been removed from the library for now)
Theodore Ts'o [Sat, 25 Oct 1997 22:41:14 +0000 (22:41 +0000)]
ChangeLog, debugfs.c, dump.c:
debugfs.c (copy_file), dump.c (dump_file): Change to use the new
fileio primitives in libext2.
Theodore Ts'o [Sat, 25 Oct 1997 22:37:42 +0000 (22:37 +0000)]
Many files:
ext2fs.h: Added function declarations and constants for bmap.c and
fileio.c.
ext2_err.et.in: Added new error messages EXT2_FILE_RO and
EXT2_ET_MAGIC_EXT2_FILE
Makefile.in: Added files bmap.c and fileio.c, and temporarily
commented out brel_ma.c and irel_ma.c
bmap.c: New file which maps a file's logical block number to its
physical block number.
fileio.c: New file which implements simple file reading and writing
primitives.
alloc.c (ext2fs_alloc_block): New function which allocates a block,
zeros it, and updates the filesystem accounting records appropriately.
Theodore Ts'o [Sat, 25 Oct 1997 04:19:14 +0000 (04:19 +0000)]
ext2_err.et.in:
ext2_err.et.in: Added new error codes: EXT2_NO_MEMORY,
EXT2_INVALID_ARGUMENT, EXT2_BLOCK_ALLOC_FAIL, EXT2_INODE_ALLOC_FAIL,
EXT2_NOT_DIRECTORY
Change various library files to use these errors instead of EINVAL,
ENOENT, etc.
Theodore Ts'o [Sat, 25 Oct 1997 04:16:53 +0000 (04:16 +0000)]
Many files:
alloc.c (ext2fs_alloc_block): New function which allocates a
block and updates the filesystem accounting records
appropriately.
ext2_err.et.in: Added new error codes: EXT2_NO_MEMORY,
EXT2_INVALID_ARGUMENT, EXT2_BLOCK_ALLOC_FAIL, EXT2_INODE_ALLOC_FAIL,
EXT2_NOT_DIRECTORY
Change various library files to use these functions instead of EINVAL,
ENOENT, etc.
ChangeLog, pass1.c, pass3.c:
pass3.c (get_lost_and_found): Check error return of
EXT2_FILE_NOT_FOUND instead of ENOTDIR
pass1.c (pass1_check_directory): Return EXT2_NO_DIRECTORY instead of
ENOTDIR
expect.icount:
Change expected error string to be "Invalid argument passed to ext2 library"
instead of just "Invalid argument"
Theodore Ts'o [Sat, 25 Oct 1997 03:51:53 +0000 (03:51 +0000)]
ChangeLog, debugfs.c, dump.c, ls.c:
debugfs.c (main, do_open_filesys):
dump.c (do_dump): Make the variable which getopt returns into be
an int, so that it won't lose on platforms where char is
unsigned.
Theodore Ts'o [Sat, 25 Oct 1997 03:49:49 +0000 (03:49 +0000)]
Many files:
fsck.c:
chattr.c: Remove #include of getopt.h, since it's not needed.
tune2fs.c (main):
lsattr.c (main):
badblocks.c (main):
dumpe2fs.c (main):
mke2fs.c (PRS): Make the variable which getopt returns into be
an int, so that it won't lose on platforms where char is
unsigned.
ChangeLog, unix.c:
Make the variable which getopt returns into be an int, so that it
won't lose on platforms where char is unsigned.
Theodore Ts'o [Fri, 24 Oct 1997 04:18:21 +0000 (04:18 +0000)]
ChangeLog, pass1b.c:
Fix bug in error reporting in the case where cs.errcode is non-zero.
Theodore Ts'o [Mon, 20 Oct 1997 23:36:30 +0000 (23:36 +0000)]
ChangeLog, configure.in, configure:
Added check to see if llseek is declared in unistd.h
ChangeLog, llseek.c:
Check HAVE_LLSEEK_PROTOTYPE to see whether or not we need to declare
llseek().
Theodore Ts'o [Mon, 20 Oct 1997 01:38:32 +0000 (01:38 +0000)]
Many files:
Place #ifdef RESOURCE_TRACK around code which uses init_resource_track
and print_resource_track. (Not all systems have timeval)
Theodore Ts'o [Mon, 20 Oct 1997 01:23:07 +0000 (01:23 +0000)]
Makefile.in:
Don't include the Makefile.pq and the powerquest directories in the tar file.
Makefile.pq:
Initial version of powerquest-special makefile
Theodore Ts'o [Mon, 20 Oct 1997 01:16:35 +0000 (01:16 +0000)]
ChangeLog, e2fsck.h, super.c:
super.c: Remove excess #includes which are not necessary.
e2fsck.h: Add #ifdef's for HAVE_SYS_TYPES_H and HAVE_SYS_TIME_H
Theodore Ts'o [Mon, 20 Oct 1997 00:52:43 +0000 (00:52 +0000)]
rw_bitmaps.c:
Add #ifdef's for HAVE_SYS_STAT_H and HAVE_SYS_TYPES_H
Theodore Ts'o [Mon, 20 Oct 1997 00:44:26 +0000 (00:44 +0000)]
Many files:
Rename io.h to be ext2_io.h (avoid namespace collisions)
ChangeLog, resize2fs.h:
Add #ifdef's for HAVE_SYS_TYPES_H and HAVE_SYS_TIME_H.
Theodore Ts'o [Mon, 20 Oct 1997 00:37:40 +0000 (00:37 +0000)]
ChangeLog, .del-ext2_fs.h~
7a460879:
Comment out the EXT2_DEBUG code, since it's only needed
for the kernel and the ... notation makes some cpp's complain.
Theodore Ts'o [Mon, 20 Oct 1997 00:33:00 +0000 (00:33 +0000)]
rs_bitmap.c:
Add #ifdefs for HAVE_SYS_STAT_H and HAVE_SYS_TYPES_H
Theodore Ts'o [Sun, 19 Oct 1997 23:13:26 +0000 (23:13 +0000)]
ChangeLog, .del-types.h.in~
7a460879:
Fix the type definitions of __s64 and __u64 if long long is used.
ChangeLog, configure, configure.in:
Add tests for sys/stat.h, sys/time.h, and sys/types.h
Theodore Ts'o [Sun, 19 Oct 1997 23:00:21 +0000 (23:00 +0000)]
Many files:
Add #ifdef's for HAVE_SYS_STAT_H and HAVE_SYS_TYPES_H
Theodore Ts'o [Wed, 15 Oct 1997 02:47:20 +0000 (02:47 +0000)]
Many files:
Use new substitution technology which doesn't depend on shell scripts.
(Faster, and better for MS-DOS port!)
Theodore Ts'o [Wed, 15 Oct 1997 01:54:48 +0000 (01:54 +0000)]
ChangeLog, debugfs.c:
When printing a usage message, have main return 1 (instead of not
specifying a return value, bad!)
Theodore Ts'o [Wed, 15 Oct 1997 01:52:44 +0000 (01:52 +0000)]
ChangeLog, gen_uuid.c:
Use clock_reg instead of clock, since clock conflicts with a header
file declaration.
Theodore Ts'o [Fri, 3 Oct 1997 17:48:10 +0000 (17:48 +0000)]
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
Theodore Ts'o [Fri, 3 Oct 1997 17:42:28 +0000 (17:42 +0000)]
ChangeLog, bmove.c, icount.c, inode.c, llseek.c:
llseek.c (ext2fs_llseek): Fix type error for ext2fs_llseek()
icount.c (ext2fs_icount_validate):
bmove.c (process_block): Fix lint error in type for fprintf().
inode.c (ext2fs_check_directory): Add support for the callback
to return the error code EXT2_ET_CALLBACK_NOTHANDLED.
ChangeLog, mke2fs.c:
Make parse_raid_opts return a void, to fix a -Wall warning.
Theodore Ts'o [Tue, 16 Sep 1997 02:13:52 +0000 (02:13 +0000)]
Many files:
Declare main() to return an int, as required. Make sure main() always
ends with an exit(0). (Some programs weren't doing this, and thus
were returning a random exit value.)
Theodore Ts'o [Tue, 16 Sep 1997 02:08:28 +0000 (02:08 +0000)]
ChangeLog, debugfs.c:
Fix declaration of main so that it returns an int.
Theodore Ts'o [Sat, 13 Sep 1997 00:32:29 +0000 (00:32 +0000)]
ChangeLog, bitmaps.c, bitops.h:
ext2fs_set_bitmap_padding: New function which sets the padding of the
bitmap to be all one's.
Theodore Ts'o [Thu, 4 Sep 1997 00:43:10 +0000 (00:43 +0000)]
ChangeLog, bmove.c, llseek.c:
llseek.c: Added missing semicolon to glibc fixup declaration of
llseek().
bmove.c: Add #include of errno.h
ChangeLog, resize2fs.h:
Add #include for errno.h
Theodore Ts'o [Sun, 24 Aug 1997 02:57:55 +0000 (02:57 +0000)]
ChangeLog, Makefile.in, initialize.c, .del-io.h~
72680822, openfs.c:
Makefile.in (ELF_SO_VERSION): Bump version to be 2.4 since we've added
a new field to the io_channel (app_data).
io.h: Add a new element to the io_channel structure, app_data.
initialize.c, openfs.c: Set io->app_data to point at the filesystem handle.
Theodore Ts'o [Thu, 14 Aug 1997 17:20:42 +0000 (17:20 +0000)]
ChangeLog, .del-io.h~
72680822, irel_ma.c, llseek.c, rw_bitmaps.c:
io.h: Change the prototype of ext2fs_llseek() to use int's instead of
unsigned int's.
llseek.c: Change to allow PIC and !HAVE_LLSEEK. Add a prototype to
make life easer for GNU Libc 2.
rw_bitmaps.c: On the PowerPC, the big-endian variant of the ext2
filesystem has its bitmaps stored as 32-bit words with bit 0 as the
LSB of each word. Thus a bitmap with only bit 0 set would be, as a
string of bytes, 00 00 00 01 00 ... To cope with this, we
byte-reverse each word of a bitmap if we have a big-endian filesystem,
that is, if we are *not* byte-swapping other word-sized numbers.
ChangeLog, expect.1, image.gz:
f_badinode: Modify test to check for "bad" character and block devices
(i.e., ones which contain garbage block entries)
Theodore Ts'o [Thu, 14 Aug 1997 17:17:16 +0000 (17:17 +0000)]
ChangeLog, e2fsck.h, message.c, pass1.c, pass2.c, problem.c, problem.h:
message.c: Add compression for the word "Illegal"
problem.c: Added entries for PR_2_BAD_CHAR_DEV and PR_2_BAD_BLOCK_DEV
pass1.c (pass1, check_device_inode), pass2.c (process_bad_inode): Use
a more stringent test for a valid device.
ChangeLog, Makefile.in:
Makefile.in (install): Fix rm command to use $(DESTDIR) appropriately.