Commit Graph

3095 Commits (dd6d671b86aff52a9f3eb5d1ff8a0ebd99eb4559)

Author SHA1 Message Date
Theodore Ts'o 03206bd825 debugfs: Fix ncheck to print all pathnames for the inodes
The ncheck command in debugfs had a bug where some inodes would not
have their pathnames printed if other inodes had more than one hard
link.  Fix this bug and simplify the code by printing all of the
pathnames for the requested inodes.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-10-01 19:14:06 -04:00
Theodore Ts'o d7f45af802 libcom_err: Use sem_post/sem_init to prevent race conditions
SuSE has been carrying a patch for a long time to prevent a largely
theoretical race condition if a multi-threaded application adds and
removes error tables in multiple threads.  Unfortunately SuSE's
approach breaks compatibility by forcing applications to link and
compile with the -pthread option; using pthread mutexes has
historically been problematic.

This commit fixes things in a more portable way by using
sem_post/sem_wait instead, which is an older interface that doesn't
require the pthreads library.  Linux happens to implement
sem_post/sem_init using futexes, and -lrt ends up pulling in
-lpthread, but the advantage of using POSIX semaphores is that
applications don't have to be built using -pthread, unlike the use of
pthread mutexes.

The add_error_table() and remove_error_table() interfaces are the
preferred interfaces and locking protection have been added to only
these interfaces.  I have not added locking protection to the
generated initialize_xxx_error_table and initialize_xxx_error_table_r
interfaces, to avoid adding symbol dependencies that would cause a
library to fail to work when linking against older com_err libraries
that do not export et_list_lock() and et_list_unlock().  Threaded
applications shouldn't be using these interfaces in any case.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-12 10:15:26 -04:00
Theodore Ts'o 3218dc9db8 debian: Use dietlibc when possible for building e2fsck.static
This fixes a regression introduced in commit 4f2e8f19 where we
inadvertently disabled the use of dietlibc on all architectures,
instead of just on those architectures which didn't support dietlibc.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-12 09:26:45 -04:00
Theodore Ts'o 0eeec8ac61 Fix compiling under diet libc
Some recent changes had caused diet libc support to bitrot.  Fix up
missing header files and other portability fixups needed for dietlibc.
(Many of these changes also improve general portability.)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-12 09:10:39 -04:00
Theodore Ts'o f8bd55160c debugfs: Add the ability to specify the hash seed to the "hash" command
Also add the ability to specify the hash algorithm by name instead of
by number.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-10 11:30:46 -04:00
Theodore Ts'o 52771ab591 e2fsck: Fix e2fsck automatic blocksize detetion
This fixes a regression that was introduced in commit dcc91e10 (it
showed up first in e2fsprogs 1.40.7).  Since we weren't freeing the
filesystem handle, ext2fs_open2() was returning EBUSY, and so this
caused a failure in the code that would automatically determine the
filesystem block size when only the superblock number was specified by
the user.

This was discussed in http://ubuntuforums.org/showthread.php?t=789323,
and Matthias Bannach pointed this out to me, for which I am very
grateful.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-09 15:02:24 -04:00
Clytie Siddall 5bf3f80da0 po: update vi.po (from translationproject.org)
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2008-09-07 22:55:25 -04:00
Benno Schulenberg 6d8fb8e52a po: update nl.po (from translationproject.org)
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2008-09-07 22:55:25 -04:00
Arif E. Nugroho d83e33a54b po: update id.po (from translationproject.org)
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2008-09-07 22:55:25 -04:00
Philipp Thomas 4077127d4b po: update de.po (from translationproject.org)
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2008-09-07 22:55:25 -04:00
Petr Pisar 1dba88d017 po: update cs.po (from translationproject.org)
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2008-09-07 22:55:24 -04:00
Matthias Andree f7c9a06c99 Unbreak build if directory renamed from e2fsprogs.
gen-tarball currently assumes that the top-level directory is called
e2fsprogs, which breaks building the tarball if it's named differently.
Since we have already computed the basename, let's use it.

Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2008-09-07 21:53:28 -04:00
Matthias Andree a6c408b691 Print size of resulting .tar.gz file.
Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2008-09-07 21:53:18 -04:00
Theodore Ts'o 01de35a6d9 libext2fs.texinfo: Add documentation for the file I/O functions
Addresses-Debian-Bug: #484877

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-07 18:11:46 -04:00
Theodore Ts'o 711d3846a0 Fix various spelling mistakes in various man pages
Thanks to A. Costa for pointing these out.

Addresses-Debian-Bug: #498100
Addresses-Debian-Bug: #498101
Addresses-Debian-Bug: #498102
Addresses-Debian-Bug: #498103

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-07 14:08:40 -04:00
Theodore Ts'o a846a6e0a7 Install with relative symlinks if $(root_libdir) == $(libdir)
When installing the ELF link library, avoid using absolute pathnames
if $(root_libdir) and $(libdir) are the same.

Addresses-Sourceforge-Bug: #1782913

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-07 03:17:22 -04:00
Theodore Ts'o 4efd17cccb e2fsck: Don't print the PO header when printing problems with PROMPT_NULL
A few e2fsck problem messages supply their own prompt, and set a
prompt value of PROMPT_NULL.  We have to check for this case, and not
pass the null string to _(), since that will result in the translation
header getting printed, like this:

Run journal anywayProject-Id-Version: e2fsprogs
Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>
POT-Creation-Date: 2008-02-28 21:45-0500
PO-Revision-Date: 2006-05-23 11:12+0000
Last-Translator: Somebody32 <som32@mail.ru>
Language-Team: Russian <ru@li.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 &&
n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;
X-Launchpad-Export-Date: 2008-05-28 00:43+0000
X-Generator: Launchpad (build Unknown)
<y>? yes

Addresses-Launchpad-Bug: #246892

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-07 01:35:15 -04:00
Theodore Ts'o 663b14639e Update debian/changefile for 1.41.1-3 debian release 2008-09-05 11:14:09 -04:00
Theodore Ts'o 00ec31b446 Add more historical information into the debian/*.symbols files
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-05 11:10:47 -04:00
Manish Katiyar 504f7a2981 badblocks: Display time and percentage complete in verbose mode.
Addresses-Debian-Bug: #429739.

Signed-off-by: "Manish Katiyar" <mkatiyar@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-05 07:51:33 -04:00
Manish Katiyar 87dd569b88 debugfs: Fix memory leak in do_ncheck()'s error path
Also the progname printed as "ncheck" instead of "do_ncheck" to be
consistent with the other error messages in debugfs.

Signed-off-by: "Manish Katiyar" <mkatiyar@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-05 07:50:44 -04:00
Theodore Ts'o bf5498cc23 debian: Reorder rules to build udebs to avoid Lintian warning
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-04 22:49:15 -04:00
Theodore Ts'o 531dfb66b5 debian: Fix dependencies field in the udeb packages
Addresses-Debian-Bug: #497619

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-04 22:39:47 -04:00
Theodore Ts'o 29551cacca Fix e2initrd_helper, blkid, and fsck from linking with unneeded libraries
... especially when using ELF shared libraries.  We only need to link
with a library if the executable uses that library directly.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-04 22:39:20 -04:00
Jakub Bogusz 61e6e045e2 po: update pl.po (from translationproject.org)
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2008-09-02 23:47:16 -04:00
Samuel Thibault 54b63eec79 po: update fr.po (from translationproject.org)
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2008-09-02 23:47:16 -04:00
Theodore Ts'o 55da987650 Improve ELF shared library handling
Pass in -rpath-link option to the linker so that blkid will build
correctly on systems that don't have libcom_err.so.2 installed.

Fix debugfs to only try to link with -ldl when building without shared
libraries; with ELF shared libraries, the library which requires -ldl
(libss.so) can required the library dependency itself.

Fix how we build tune2fs.static so that we use @LDFLAG_STATIC@, via
$(LDFLAGS_STATIC), instead of hard-coding the use of -static.

Addresses-Sourceforge-Bug: #2088537

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-02 23:12:38 -04:00
Theodore Ts'o 3b4a66cfb6 Fix bold font specifer in mke2fs.8 man page
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-02 21:23:35 -04:00
Theodore Ts'o 97be89b60b Fix pkg-config files: use Requires.private and fix the include directory
Addresses-Sourceforge-Bug: #2089537

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-02 21:20:44 -04:00
Theodore Ts'o bab328ad07 Update debian/changefile for 1.41.1-2 debian release
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-02 12:33:00 -04:00
Theodore Ts'o e01f9be336 libext2fs: Compile ext2fs_swab64() for all platforms
Although nothing uses ext2fs_swab64() yet, debian's dpkg-gensymbols
picked up the fact that ext2fs_swab64() isn't getting defined on
non-x86 platforms.  Oops.  This patch moves the definition of
ext2fs_swab64() to a place where it will be compiled for all
architectures.

Addresses-Debian-Bug: #497515

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-02 08:49:10 -04:00
Theodore Ts'o 5c0255e8ad libext2fs: Remove unused ext2fs_find_{first,ext}_bit_set()
These functions were commented out for x86, but they were still being
defined for other architectures.  We now remove them entirely.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-02 08:47:19 -04:00
Theodore Ts'o 22301afb01 badblocks: Open the device with O_LARGEFILE
Linux doesn't enforce the Large File Support API requirements on block
devices, but in case someone wants to run badblocks on a normal file,
open the device file with O_LARGEFILE.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-02 08:29:20 -04:00
Theodore Ts'o 60b30dbaa6 Fix e2fsprogs-libs build failure due to 'subs' target
In e2fsprogs-libs the lib/ext2fs directory is not present, and we need
to make sure the top-level Makefile doesn't blow up in it's not there.

Addresses-Sourceforge-Bug: #2087502

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-01 18:07:59 -04:00
Theodore Ts'o 31d6487812 Update release notes, changelog, etc., for e2fsprogs 1.41.1 release
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-01 16:02:04 -04:00
Theodore Ts'o a8fbdc0950 filefrag: Fix calculation of ideal number of extents
Fix calculation of the ideal number of extents needed for a file to
take into account sparse files.

In addition, suppress the "this file is extent-based" message unless
verbose mode is enabled.

Addresses-Debian-Bug: #458306

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-01 15:58:37 -04:00
Theodore Ts'o af773654b2 Enable test_io debugging by default
Test I/O debugging is incredibly useful for rooting out problems, so
let's enable by default, especially now that its overhead is only
incurred when it is needed.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-01 11:36:59 -04:00
Theodore Ts'o f34171a7ff Fix debug flag definitions for the resize2fs man page
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-01 11:36:59 -04:00
Theodore Ts'o f38cf3cb34 Only use the test_io manager if the right environment variables are set
In order to make it possible for the test_io manager to be compiled in
by default, make all of the programs that might try to use it to only
do so if the environment variables TEST_IO_FLAGS and TEST_IO_DEBUG are
set.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-01 11:36:53 -04:00
Theodore Ts'o 7fd2651f67 libe2p: Fix potential core-dumping bug in iterate_on_dir()
iterate_on_dir() can try to copy too much data from the directory
entry, resulting in a crash.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-09-01 09:38:32 -04:00
Theodore Ts'o f6d179f5d3 Update e2fsprogs.pot translation template
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-08-29 23:36:08 -04:00
Theodore Ts'o 94b993d56a Update makefile dependency for lib/e2p/Makefile.in
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-08-29 23:26:26 -04:00
Theodore Ts'o d5f57d9553 mke2fs: Allow the default hash algorithm in mke2fs.conf
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-08-29 21:39:36 -04:00
Theodore Ts'o 10ff68d42d tune2fs: Add support for setting the default hash algorithm for htree
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-08-29 21:21:19 -04:00
Theodore Ts'o 26f29164a4 debian: Fix postinstall scripts when the user/group is in LDAP
Addresses-Debian-Bug: #497010

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-08-29 20:03:03 -04:00
Philipp Thomas a700f5175e po: update de.po (from translationproject.org)
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2008-08-29 20:03:03 -04:00
Theodore Ts'o d1070d91b4 tune2fs, mke2fs: Change default directory hash algorithm to half_md4
The half_md4 algorithm is faster and more collision resistant.  Let's
switch to it as the default.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-08-29 20:02:50 -04:00
Theodore Ts'o f844b32a09 resize2fs: Allow (non-optimal) on-line resizing for flex_bg filesystems
The current method of adding one block group at a time to a mounted
filesystem means it is impossible to accomodate the flex_bg allocation
method of placing the metadata together in a single block group.  For
now we "fix" this issue by using the traditional layout for new block
groups, where each block group is self-contained and contains its own
bitmap blocks and inode tables.  This means we don't get the layout
advantages of flex_bg in the new block groups, but at least it allows
on-line resizing to function.

Long term, we will need to create a new ioctl which does much more of
the resizing work in the kernel.

We also fix a bug in the ext3/ext4 ioctl fallback code so we stop
trying the ext3 ioctl for every single block group when resizing an
ext4 filesystem.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-08-28 16:40:38 -04:00
Theodore Ts'o b55d73985c Further optimize journal placement for flex_bg filesystems
If the number of block groups is greater than half the flex_bg size,
the journal we be placed in the flex_bg super-group which is closest
to the mid-point of the filesystem, and in the first free block group
beyond where the metadata for the flex_bg is stored.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-08-28 10:20:43 -04:00
Theodore Ts'o 03d28ded13 debian: Change symbols files to only use uptream versions numbers
As suggested by lintian

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-08-28 09:43:18 -04:00