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
Andreas Dilger
0d9ef644d9
Add several tests for bad symlinks, including immutable flags, zero
...
i_size, too large i_size, and i_size_high set.
2001-08-04 00:30:07 -06:00
Theodore Ts'o
194686bbae
tune2fs.c (update_feature_set, remove_journal_inode): If
...
removing an in-filesystem journal, clear out the journal
inode and update the filesystem accounting structures so
we don't have to run e2fsck to clean up after ourselves
2001-07-31 12:03:23 -04:00
Theodore Ts'o
de49f015a4
tune2fs.c (update_feature_set): Don't require a forced fsck if
...
we're removing an external journal from a filesystem.
2001-07-30 16:31:30 -04:00
Theodore Ts'o
83e6ac84c7
unix.c (check_mount): Remove the code in e2fsck which tested for the
...
root filesystem being mounted read-only, and depend on the
results flags from ext2fs_check_if_mounted.
2001-07-30 16:29:52 -04:00
Theodore Ts'o
0628ae3948
unix.c (main): Move the final print_resource_track call after
...
the filesystem and context handle are closed
2001-07-29 12:26:46 -04:00
Theodore Ts'o
6d222f3217
Fix memory leaks in e2fsck's journal.c, and remove some cases
...
which look like memory leaks in unix.c so we can more easily find
the true memory leaks.
2001-07-29 12:06:58 -04: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
1e16526bd9
e2fsck.c (e2fsck_reset_context): Fix bug; only close the io channel if
...
it is *different* from the filesystem io channel
2001-07-29 11:48:10 -04:00
Theodore Ts'o
36be564dc2
ADD TAG: E2FSPROGS-1_23-WIP-0727
2001-07-27 23:33:40 -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
737f066a34
ADD TAG: E2FSPROGS-1_23-WIP-0727
2001-07-27 22:40:09 -04:00
Theodore Ts'o
a092c563f7
Update problem message printed when special files have the immutable
...
flag set. Update the f_filetype test case.
2001-07-27 22:40:09 -04:00
Theodore Ts'o
46b997cde3
ADD TAG: E2FSPROGS-1_23-WIP-0727
2001-07-27 22:20:06 -04:00
Theodore Ts'o
bf16d1065a
Update for 27-Jul-2001 WIP release.
2001-07-27 22:20:06 -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
fd77b2c78a
pass1.c (e2fsck_pass1): Check for symlinks that have the
...
immutable flag set (and offer to clear them).
2001-07-27 22:10:01 -04:00
Theodore Ts'o
d0952b44bd
subst.conf.in: Enable documentation of the external journal
...
functionality in mke2fs, e2fsck, and tune2fs.
2001-07-27 22:02:47 -04:00
Theodore Ts'o
77dc4eb04c
mke2fs.c (PRS): If the blocksize is not specified, and the journal
...
device is specified, user it to determine the blocksize
of the filesystem.
2001-07-27 22:00:18 -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
24ceb248ab
pass1.c (e2fsck_pass1): Free ctx->block_ea_map at the end of pass 1.
...
This avoids increasing the memory footprint of e2fsck by 10%!
2001-07-26 09:02:56 -04:00
Theodore Ts'o
14fe1c3314
Apply fixes reported by Andreas Gruenbacher:
...
pass1.c (check_ext_attr): Skip zero-length EA entries.
problem.c: PR_1_EA_ALLOC_COLLISION shouldn't abort, but should prompt
to clear the EA block.
2001-07-25 19:48:24 -04:00
Theodore Ts'o
029326d6d1
ADD TAG: E2FSPROGS-1_23-WIP-0722
2001-07-23 00:23:52 -04:00
Theodore Ts'o
6c0a041776
Update for 1.23-WIP-0722 release.
2001-07-23 00:23:52 -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
b170814bb0
ADD TAG: E2FSPROGS-1_23-WIP-0720
2001-07-20 18:21:34 -04:00
Theodore Ts'o
9249d980a2
Update final changes before 1.23-WIP-0620
2001-07-20 18:14:10 -04:00
Theodore Ts'o
9b61b8c424
fsck.8.in: Add much more explicit language documenting how the
...
fs_passno field in /etc/fstab is handled. (Addresses
Debian bug #30833 ).
2001-07-20 14:25:23 -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
d312401961
unix.c (main): Add an explicit warning when the filesystem is left not
...
completely fixed when e2fsck exits. (Addresses Debian bug #104502.)
2001-07-20 14:13:49 -04:00
Theodore Ts'o
d1ef5c34a9
Update version and release notes for 1.23 WIP release.
2001-07-20 12:35:11 -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
da376f5a13
fstype.c (identify_fs): New file which looks at the superblock
...
of the filesystem to determines its type.
fsck.c (fsck_device, ignore, interpret_type): Call identify_fs
if the type specified in /etc/fstab is "auto".
2001-07-19 20:38:53 -04:00
Theodore Ts'o
55fd07ed0a
This patch completes the initial extended attribute/ACL support for
...
e2fsck. We now check the entire EA block to make sure that the all
of the EA entries look sane.
2001-07-19 16:31:25 -04:00
Theodore Ts'o
0f2cfe2579
Fix really stupid typo.
2001-07-10 14:34:41 -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
2979b5272e
Fix problems in po's Makefile.in.in and POTFILES.in.
2001-07-10 00:45:58 -04:00
Theodore Ts'o
7b63fff9b6
pass1b.c (pass1b, process_pass1b_block): Change the num_bad
...
field calculation so that it only counts EA block entries
as a single multiply claimed block (since once we clone
the EA blocks for one inode, we fix the problem for all of
the other inodes). Also, I moved the num_bad calculation
from process_pass1b_block to the end of pass1b. This
fixes a *significant* performance bug in pass1b which hit
people who had to had a lot of multiply claimed blocks.
(Can you say O(n**3) boys and girls? I knew you could...
Fortunately, this case didn't happen that much in actual practice.)
2001-07-07 23:01:31 -04:00
Theodore Ts'o
b5acdb6ae2
pass1.c (e2fsck_pass1): Defer inodes which have an extended attribute
...
block for later processing to avoid extra seeks across the disk.
(process_inode_cmp): If there is no indirect block, sort by the
extended attribute (i_file_acl) block.
2001-07-07 22:27:40 -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
e667687581
f_badinode: Update expect.1 to match change in invalid symlink
...
size text.
2001-07-07 13:23:14 -04:00
Theodore Ts'o
7abb2bdcd6
pass1b.c (clone_file_block): Fix bugs when cloning extended attribute
...
blocks. Moved free of block_buf to after the code which clones the
extattr block, and fixed logic for changing pointers to the extended
attribute field in the inodes which were affected.
(decrement_badcount): New function which is used whenever we need to
decrement the number of files which claim a particular bad block.
Fixed bug where delete_file wasn't checking check_if_fs_block() before
clearing the entry in block_dup_map. This could cause a block which
was claimed by multiple files as well as the filesystem metadata to
not be completely fixed.
2001-07-07 13:20:34 -04:00
Theodore Ts'o
e8a3ee628a
Add code to check and fix incorrect reference counts in the extended
...
attribute blocks.
2001-07-07 11:12:50 -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
21d14ec7aa
Add support for XFS filesystems.
2001-07-03 21:43:07 -04:00
Theodore Ts'o
342d847db3
Add initial support for extended attribute blocks
2001-07-02 11:54:09 -04:00
Theodore Ts'o
636a954a30
Use long long to calculate the percentage
...
of the number of blocks in use in the filesystem.
2001-06-29 17:57:26 -04:00
Theodore Ts'o
acd8df68c9
Don't predefine RM; it's defined by MCONFIG
2001-06-27 07:51:11 -04:00
Theodore Ts'o
3adfccba5d
ADD TAG: E2FSPROGS-1_22
2001-06-23 00:25:18 -04:00