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
ddc32a045b
Add Czech translation.
...
Remove "NYC" translation. Add Czech translation from Miloslav
Trmac <mitr@volny.cz>
Random NLS and other display fixes from Miloslav.
2003-05-03 18:45:55 -04:00
Theodore Ts'o
a04eba3f88
Update to gettext 0.11.5. We now enable NLS support by default.
...
Fixed up support for using the internal intl library.
2003-05-03 16:35:17 -04:00
Theodore Ts'o
6177c41f99
Fixed NLS support for message abbreviations in e2fsck.
2003-04-27 17:34:14 -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
520ead378e
Fix gcc -Wall warnings.
2003-04-19 13:48:27 -04:00
Theodore Ts'o
12dd69f5ff
e2fsck/rehash.c (name_cmp): Sort the deleted inodes to the end
...
of the list, for portability to systems that whose qsort
does not perform a stable sort.
2003-04-17 21:55:38 -04:00
Theodore Ts'o
908b785c3f
Use setvbuf instead of setbuf to force stdout and
...
stderr to be non-buffered when the stdout/stderr are a pipe.
This fixes a cosmetic problem when using e2fsck under logsave.
2003-04-16 15:20:13 -04:00
Theodore Ts'o
bc34d6be65
* Add support for the -a and -s options to logsave.
...
* Change e2fsck to bracket its progress bar output with ctrl-A and ctrl-B
characters, so that logsave -s can omit writing the progress bar output
to the log file.
2003-04-16 14:05:06 -04:00
Theodore Ts'o
16fa86b9c5
Remove the debian-special legal permission notes.
2003-04-14 20:40:49 -04:00
Theodore Ts'o
fff45483ed
Add portability enhancements for Cygwin32 environment.
2003-04-13 00:44:19 -04:00
Theodore Ts'o
2a77a784a3
E2fsck now updates the global free block and
...
inode counters from the block group specific counters
quietly. This is needed for an experimental patch which
eliminates locking the entire filesystem when allocating
blocks or inodes; if the filesystem is not unmounted
cleanly, the global counts may not be accurate.
2003-04-05 22:50:44 -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
1d2eef4227
rehash.c (e2fsck_rehash_dir): If user specified the -n option,
...
skip trying to write out directory.
(e2fsck_rehash_directories): Fix the percentage
calculation in the progress bar.
2003-03-15 13:30:07 -05:00
Theodore Ts'o
52734dc532
Don't display progress bar when rebuilding directories unless
...
explicitly requested by the user.
2003-03-15 04:03:43 -05:00
Theodore Ts'o
0926668d3a
e2fsck/pass2.c (check_dir_block): Check for duplicate filenames within
...
a single directory block (because this is the easy case;
we don't currently check for duplicates that span
directory blocks, for now. Eventually for htree
directories we can do this by searching for all directory
blocks that have a hash overflow, and then searching the
adjacent blocks to find all other potential duplicates.)
2003-03-14 22:19:10 -05:00
Theodore Ts'o
e71d87317a
Add Apple/Darwin patches.
2003-03-14 02:13:48 -05:00
Theodore Ts'o
b0700a1b60
Change e2fsck to detect and offer to delete or rename duplicate
...
filenames in directories when rebuilding directories using
"e2fsck -fD /dev/XXX"
2003-03-14 01:43:56 -05:00
Theodore Ts'o
77be4d2df1
Minor man page fixes (Addresses Debian bugs #173612 , #175233 ,
...
#175113 , and #170497 )
2003-03-06 12:39:55 -05:00
Theodore Ts'o
f364093b19
Update debugfs and e2fsck to use the blkid library.
2003-03-01 19:47:44 -05:00
Theodore Ts'o
19445ef970
Fixed up minor documentation issues (man page for badblocks and usage
...
message for e2fsck).
2003-01-29 21:04:52 -05:00
Theodore Ts'o
4f489285b6
pass1.c (check_blocks): Use the EXT2_I_SIZE macro.
2003-01-22 18:28:15 -05:00
Theodore Ts'o
e34bf43aff
pass2.c (strnlen): Provide strnlen if libc doesn't.
2002-12-18 18:28:10 -05:00
Theodore Ts'o
b92ae1535c
Detect if there is an attempt to run the journal twice, and
...
abort the e2fsck run with an error if this is the case.
(Address IBM Bugzilla bug #1226 )
2003-01-02 16:53:54 -05:00
Theodore Ts'o
8161a7484f
Print an error if more than one of the -p/-a, -n or -y options
...
are passed to e2fsck.
2003-01-02 16:36:44 -05:00
Theodore Ts'o
68ef5e1f4c
Fix typo (errant extra character).
2002-12-11 12:14:43 -05:00
Theodore Ts'o
54779c66e0
Update to deal with the fact that the INDEX_FL code in the ext2 2.4
...
code accidentally had the INDEX_FL backwards compatibility code
removed. E2fsck will now fix HTREE corruptions in preen mode, and
mke2fs will not create filesystems with the dir_index flag set
by default. (The user has to specifically request it.)
2002-11-13 07:00:16 -05:00
Theodore Ts'o
38513011b9
Update files for 1.32 release.
2002-11-09 15:00:56 -05:00
Theodore Ts'o
0c897a9012
Add german translation to the language catalog
...
Fix internationalization of "pass 2" in e2fsck.
Update po files.
2002-11-09 12:01:18 -05:00
Theodore Ts'o
ae65b29f11
Update files for 1.31 release.
2002-11-08 20:08:48 -05:00
Theodore Ts'o
c1637bd371
unix.c (main): Fix a bug where e2fsck could erroneously mark a
...
filesystem as being valid if it was being checked and it
is interrupted with a ^C. (Bug introduced in e2fsprogs
1.28.)
2002-11-08 15:55:17 -05:00
Theodore Ts'o
5e72cdbeb9
unix.c (PRS), journal.c: Set the default level of journal
...
debugging to be 0, and allow the user to set the level of
journal debugging by using the E2FSCK_JBD_DEBUG
environment variable.
2002-11-08 15:35:13 -05:00
Theodore Ts'o
299d742427
Change e2fsck to force out changes to the backup copies of the
...
superblock and block group descriptors when important changes
are made to those data structures.
2002-11-08 11:10:28 -05:00
Theodore Ts'o
ee895139d7
e2fsck.h, unix.c (main, check_mount): Fix e2fsck so that it
...
returns the appropriate exit code, so that the boot
scripts will be told that they need to automatically
reboot.
2002-11-07 16:16:55 -05:00
Theodore Ts'o
5d823a478f
Update files for 1.30 release.
2002-11-01 02:13:53 -05:00
Theodore Ts'o
4fd6834c68
unix.c (usage), e2fsck.8.in: Add the -D option to the usage and
...
command synopsis. (Addresses Debian bug #167108 )
(missed this file in the previous checkin)
2002-10-31 19:39:03 -05:00
Theodore Ts'o
b40ffd792e
unix.c (usage), e2fsck.8.in: Add the -D option to the usage and
...
command synopsis. (Addresses Debian bug #167108 )
2002-10-31 19:30:24 -05:00
Theodore Ts'o
be93ef0c14
pass1.c (e2fsck_pass1): Check the superblock write time to see
...
whether or not we can safely do the LOW_DTIME checks.
(Addresses Sourceforge bug #620980 )
2002-10-31 18:38:55 -05:00
Theodore Ts'o
482afc442d
Makefile.in (install): Search all compression extensions when
...
deleting old man pages.
2002-10-31 03:32:34 -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
a49929b656
Add support for the meta_blockgroup filesystem format. (Missing changelog)
2002-10-20 00:58:08 -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
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
64aecc4dd3
Fix bug in e2fsck and mklost+found; the lost+found directory should
...
created with mode 0700.
2002-10-11 17:44:12 -04:00
Theodore Ts'o
d237a78e4e
Handle BAD_BLOCK_IN_INODE_TABLE even at the beginning of the
...
inode table, and shrink code by reorganizing the while loop so
to eliminate duplicate calls to ext2fs_get_next_inode().
2002-10-03 01:09:35 -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
ad4fa46604
Avoid counting directory entries during a directory salvage.
...
Add additional checks to HTREE directories. We now check the count
and limit fields in the htree header, as well as assuring that the
hash table in each interior node is in ascending order. We also
check to make sure all leaf nodes are have the expected depth in
the tree.
Updated test cases to deal with all of the above.
2002-09-30 11:19:19 -04:00
Theodore Ts'o
e8254bfd3b
pass2.c (check_dir_block): Do a more paranoid check when trying
...
to determine whether or not a directory entry is a
completely empty leaf block or leaf node. Otherwise
e2fsck might get confused into thinking that a valid dxdir
was corrupted.
2002-09-29 19:30:28 -04:00
Theodore Ts'o
fe5b72d15e
rehash.c (e2fsck_rehash_dir): Apply patch from Christopher Li
...
which avoids creating an empty directory entry at the end
of the directory block. This screws up earlier versions
of the indexed directory patch.
2002-09-29 19:05:26 -04:00
Theodore Ts'o
e70ae99e07
Add a more sophisticated algorithm to e2fsck to salvage corrupted
...
directories.
Speed up e2fsck slightly by only updating the master superblock;
there is no point to update the backup superblocks.
Fix a small bug in the rehashing code which could leave the indexed
flag set even after the directory was compressed instead of indexed.
(Not fatal, since the kernel will deal with this, but technically
it filesystem isn't consistent, and the filesystem will be marked
as being in error when the kernel comes across the directory. It
should also never happen in real life, since directories that small
will never be indexed, but better safe than sorry.)
Also change the threshold of when directories are indexed, so that
directories of size 2 blocks will be indexed. Otherwise they will
never be indexed by the kernel when they grow.
2002-09-28 09:16:28 -04:00
Theodore Ts'o
c663305947
Update for 1.29 release.
2002-09-24 01:26:50 -04:00
Theodore Ts'o
cf3909edfe
rehash.c (copy_dir_entries): Fix bug which caused corrupted
...
directories if there are 4 or 8 bytes left over in a
directory page when optimizing/reindexing a directory.
2002-09-06 10:14:12 -04:00
Theodore Ts'o
87ee8dcad3
Update changelogs for 1.28 release
2002-08-31 03:02:57 -04:00
Theodore Ts'o
b7bad61521
Update for 1.28 release.
2002-08-31 03:00:33 -04:00
Theodore Ts'o
ceecbc75c3
ehandler.c (e2fsck_handle_read_error): If the user asks to
...
ignore the error, offer to try forcing a write of the
block to the disk; sometimes this will cause the drive to
remap the bad block.
2002-08-31 02:35:35 -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
a3da9d1df7
problem.c: Fix PR_1_RELOC_BLOCK_ALLOCATE message to explain that
...
it is necessary to find contiguous blocks in a particular
block group.
2002-08-21 12:52:03 -04:00
Theodore Ts'o
f044b4d8a0
Update and clarify man pages (addresses Debian Bug #145044 ).
...
Let e2fsck allow use of the TEA hash.
Mke2fs will no longer abort if it can't zero blocks at the end of the
filesystem. (Addresses Debian Bug #155007 )
2002-08-17 13:32:21 -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
Stephen Tweedie
eb16f861e9
Clear dtime field on truncated orphan inodes.
2002-08-14 11:00:44 +01:00
Theodore Ts'o
838e773e7a
Change e2fsck to use a red/black tree in pass1b, to remove O(n**2)
...
algorithms. Makes e2fsck much, much faster in certain rare cases
where the filesystem is severely corrupted.
2002-08-01 12:37:00 -04:00
Theodore Ts'o
850d05e9aa
Add e2fsck -D option which optimizes/compresses directories.
...
General cleanup of rehash code. (Fixed a few bugs, reformatted
code to make it more maintainable, etc.)
2002-07-25 00:00:08 -04:00
Theodore Ts'o
542867fb70
util.c (ask_yn, read_a_char): Note when the user has typed ^C,
...
and abort processing by longjmp'ing to ctx->abort_loc.
2002-07-24 07:42:02 -04:00
Theodore Ts'o
3214a453db
pass1.c (e2fsck_pass1): If e2fsck is run with -n, don't create
...
the dirs_to_hash list, since we don't want to reindex
directories if the filesystem is opened read-only.
2002-07-23 12:00:00 -04:00
Theodore Ts'o
4cae04529e
Add SIGINT and SIGTERM handling to fsck and e2fsck. For e2fsck,
...
make sure we gracefully clean up and only exit at safe points.
For fsck, we pass the SIGINT/SIGTERM signal to the child processes,
so they can do their own cleanup.
2002-07-21 14:14:03 -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
62acaa1de1
pass2.c (e2fsck_pass2): Use dx_dir->numblocks instead of
...
dx_dir->ino to indicate that a bad inode was cleared.
2002-07-15 16:54:42 -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
8fdc9985c1
Add initial support for htree directories.
2002-06-25 23:26:34 -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
Theodore Ts'o
0d63467ddb
Update to support the V2 Bestbits EA format.
2002-05-22 00:22:38 -04:00
Theodore Ts'o
da307041e7
Check for inodes which are too big (either too many blocks, or
...
would cause i_size to be too big), and offer to truncate the inode.
Remove old bogus i_size checks.
Add test case which tests e2fsck's handling of large sparse files.
Older e2fsck with the old(er) bogus i_size checks didn't handle
this correctly.
2002-05-21 21:19:14 -04:00
Theodore Ts'o
bcf9c5d401
Fix up Andreas' changeset. Avoid use of dynamic automatic arrays,
...
and check for EXT2_INDEX_FL for special devices, and consider them to
be invalid if they are set.
2002-05-21 09:14:17 -04:00
Andreas Dilger
b94a052a25
Add more complete tests for symlinks: nul termination of long links and length
...
Improve the f_badsymlinks test case for these new tests.
2002-05-18 13:16:30 -06:00
Theodore Ts'o
7823dd6572
Fix fencepost error in allocating space for array.
2002-05-17 23:37:42 -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
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
f2d5c93703
Fixed the journal handling so that an offer is made to clear the
...
journal filesystem in all cases.
Fixed a bug in e2fsck which caused it to give spurious I/O manager
bad messages right before crashes.
2002-03-07 03:13:07 -05:00
Theodore Ts'o
f122632e6b
E2fsck now prints ranges in pass 5 when printing deltas in
...
the block and inode bitmaps.
2002-03-07 02:47:07 -05:00
Theodore Ts'o
14308a5398
Newer libintl needs LC_CTYPE to be set in addition to LC_MESSAGES.
2002-03-05 03:26:52 -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
25813b1313
Fix typo in previous changeset; the man pages for fsck.ext2 and
...
fsck.ext3 should be linked to the one for e2fsck, not fsck.
2002-02-24 03:48: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
d1a2182a18
Cleaned up journal handling code in e2fsck.
...
Fixed up two minor memory leaks.
2002-02-22 00:17:59 -05:00
Theodore Ts'o
a5f3f5c191
Update files for 1.26 release.
2002-02-03 01:00:22 -05:00
Theodore Ts'o
96b5cacc04
Miscellaneous cleanup before 1.26-WIP release. Removed unused
...
.cvsignore in include/asm directory so it can disappear. Updated
makefile dependencies, and stop including <topsrc>/include in the
-I search path, since it's no longer needed.
2001-12-24 15:33:49 -05:00
Theodore Ts'o
3ed57c27df
In mke2fs and e2fsck, specifying the -c option twice will now do
...
a read/write test on the disk. Update the man pages to encourage
using the -c option, and to discouraging running badblocks separately,
since users tend to forget to set the blocksize when running
badblocks.
2001-12-24 15:01:59 -05:00
Theodore Ts'o
fae9bfaa5c
Initialize buf to NULL to avoid crashing when called by fix_problem()
2001-12-23 22:56:12 -05:00
Theodore Ts'o
f1a1761d67
Enhnaced the get backup superblock function so that it does
...
the right thing if the filesystem superblock is unavailable;
it will search for the superblock by iterating over possible
blocksizes.
2001-12-23 22:27:52 -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
6a50c5ed57
Use ctx->filesystem_name if the ctx->device_name is NULL in e2fsck.
2001-12-21 23:29:35 -05:00
Theodore Ts'o
d37066a9fa
Give the opportunity for e2fsck to run the journal even if
...
recovery flag is cleared. If we're using a backup
superblock, run the journal by default.
2001-12-21 23:28:54 -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
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
Gabriel Paubert
b3b3d465b1
journal.c: fix an endianness bug.
...
f_badorphan: revert previous, erroneous change.
2001-11-30 13:45:28 +01:00
Theodore Ts'o
24bfb443fc
super.c (check_super_block): Make sure that if the inode table
...
or allocation bitmap is zero, that it is marked as
invalid, so that in pass #1 , a new bitmap/inode table gets
properly allocated. (Addresses Debian Bug #116975 )
2001-11-26 15:51:14 -05:00