History log of /external/e2fsprogs/misc/e2undo.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
32bf36dc0f40151fdc4179af16000828c1591022 17-Jun-2016 Eric Sandeen <sandeen@redhat.com> e2undo: fix endian issues

Two new e2undo issues exist in the latest release on big endian
machines.

From sparse check:

undo_io.c:157:26: warning: invalid assignment: |=
undo_io.c:157:26: left side has type restricted __le32
undo_io.c:157:26: right side has type int
undo_io.c:161:26: warning: invalid assignment: &=
undo_io.c:161:26: left side has type restricted __le32
undo_io.c:161:26: right side has type int

e2undo.c:211:16: warning: cast to restricted __le64
e2undo.c:211:16: warning: cast from restricted blk64_t
e2undo.c:212:16: warning: cast to restricted __le64
e2undo.c:212:16: warning: cast from restricted blk64_t

Addresses-RedHat-Bugzilla: 1344636
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
76188021233d1e22ba3ce0787a76096c82cdc0a5 06-Jun-2016 Theodore Ts'o <tytso@mit.edu> e2undo: #include <libgen.h> since we use basename()

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
377e3a96571b12d23662131b461a033618ab805c 03-Jun-2016 Theodore Ts'o <tytso@mit.edu> misc: fix gcc -Wall complaints

Especially when compiling for a 32-bit architecture.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
0935fa8da322faa282581968dcf9edd8e187739c 12-May-2016 Marcus Huewe <suse-tux@gmx.de> e2undo: support the undo header's fs_offset feature

If the fs_offset feature is present (and no "-o offset"
option is specified), e2undo performs the undo operation at
the stored offset.

Signed-off-by: Marcus Huewe <suse-tux@gmx.de>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
6930537d528c00c81d76a301936b198e16b460d9 12-May-2016 Marcus Huewe <suse-tux@gmx.de> e2undo: add "-o offset" option to specify the filesystem offset

This is useful if the filesystem is located at an arbitrary
offset instead of the beginning of a device or file.

Signed-off-by: Marcus Huewe <suse-tux@gmx.de>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
99ceb8ec1acd7f38da289966b9984b3ffa1914a9 13-Jul-2015 Theodore Ts'o <tytso@mit.edu> Move the check_plausibility() function from misc to lib/support

The check_plausibility() function is now used all over the place, so
we should move the plausible.c file to lib/support and remove the
special case handling for that file that had been in the build system.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
b0851392244e2a87cad67739d86c7489d4db3222 17-May-2015 Darrick J. Wong <darrick.wong@oracle.com> misc: fix undo file setup

Fix Coverity bugs 1297094-1297101 by fixing all the mutations in the
*_setup_tdb() functions, fixing buffer overflows, and checking
return values.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
4892bce3c433a710ebb3a354329e21b44e95214c 05-May-2015 Darrick J. Wong <darrick.wong@oracle.com> e2undo: ditch tdb file, write everything to a flat file

The existing undo file format (which is based on tdb) has many
problems. First, its comparison of superblock fields is ineffective,
since the last mount time is only written by the kernel, not the tools
(which means that undo files can be applied out of order, thus
corrupting the filesystem); block numbers are written in CPU byte
order, which will cause silent failures if an undo file is moved from
one type of system to another; using the tdb database costs us an
enormous amount of CPU overhead to maintain the key data structure,
and finally, the tdb database is unable to deal with databases larger
than 2GB. (Upstream tdb 1.2.12 can handle 4GB, but upgrading a 2TB FS
to 64bit,metadata_csum easily produces 2.9GB of undo files, so we
might as well move off of tdb now.)

The last problem is fatal if you want to use tune2fs to turn on
metadata checksumming, since that rewrites every block on the
filesystem, which can easily produce a many-gigabyte undo file, which
of course is unreadable and therefore the operation cannot be undone.

Therefore, rip all of that out in favor of writing to a flat file.
Old blocks are appended to a file and the index is written to the end
when we're done. This implementation is much faster than wasting a
considerable amount of time trying to maintain a hash index, which
drops the runtime overhead of tune2fs -O metadata_csum from ~45min
to ~20 seconds on a 2TB filesystem.

I have a few reasons that factored in my decision not to repurpose the
jbd2 file format for undo files. First, undo files are limited to
2^32 blocks (16TB) which some day might not serve us well. Second,
the journal block size is tied to the file system block size, but
mke2fs wants to be able to back up big chunks of old device contents.
This would require large changes to the e2fsck journal replay code,
which itself is derived from the kernel jbd2 driver, which I'd rather
not destabilize. Third, I want to require undo files to store the FS
superblock at the end of undo file creation so that e2undo can be
reasonably sure that an undo file is supposed to apply against the
given block device, and doing so would require changes to the jbd2
format. Fourth, it didn't seem like a good idea that external
journals should resemble undo files so closely.

v2: Provide a state bit that is only set when the undo channel is
closed correctly so we can warn the user about potentially incomplete
undo files. Straighten out the superblock handling so that undo files
won't be confused for real ext* FS images. Record multi-block runs in
each block key to reduce overhead even further. Support reopening an
undo file so that we can combine multiple FS operations into one
(overall smaller) transaction file, which will be easier to manage.
Flush the undo index data if the program should terminate
unexpectedly. Update the ext4 superblock bits if errors or -f is
found to encourage fsck to do a full run the next time it's invoked.
Enable undoing the undo.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
ec2019d109f9b3829e406a81a59f9af350df5abf 05-May-2015 Darrick J. Wong <darrick.wong@oracle.com> e2undo: fix memory leaks and tweak the error messages somewhat

Fix memory leaks and improve the error messages to make it easier
to figure out why e2undo went wrong.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
f404167dda29a59d2be2882328aeb074b9899669 17-Dec-2013 Theodore Ts'o <tytso@mit.edu> Clean up sparse warnings

Mostly by adding static and removing excess extern qualifiers. Also
convert a few remaining non-ANSI function declarations to ANSI.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
45ff69ffeb700012a7c052f5e45882557a40be7e 16-Dec-2013 Andreas Dilger <adilger@dilger.ca> build: quiet LLVM non-literal string format warning

Compiling with LLVM generates a large number of warnings due
to the use of _() for wrapping strings for i18n:

warning: format string is not a string literal
(potentially insecure) [-Wformat-security]
./nls-enable.h:4:14: note: expanded from macro '_'
#define _(a) (gettext (a))
^~~~~~~~~~~~

These warnings are fixed by using "%s" as the format string,
and then _() is used as the string argument.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
19ef479acf566343b277be3554beda7e1f400381 18-Nov-2011 Eric Sandeen <sandeen@redhat.com> e2undo: cast dptr to blk64_t to retrieve block number

A 32-bit s390 build was failing on a 64-bit s390x host, when
make check failed e2undo tests, like this:

md5sum before mke2fs 922c8a591c882dbdd1a381d18547cfd5
using mke2fs to test e2undo
Overwriting existing filesystem; this can be undone using the command:
e2undo /tmp/mke2fs-tmp.EM9XjmTA81.e2undo /tmp/tmp.EM9XjmTA81

md5sum after mke2fs cbf32fb6c3db45280ad013f42ac294f1
Replayed transaction of size 32768 at location 0
Replayed transaction of size 32768 at location 0
Replayed transaction of size 32768 at location 0
Replayed transaction of size 32768 at location 0
Replayed transaction of size 0 at location 0
md5sum after e2undo 31b4e14307c5b7ccce5b8d300c2ad5f1

Note the "at location 0" for the block number.

A proper cast in e2undo.c fixes this up.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
9d4507c5b61007df968638623aa1b4c47dae6cf9 05-Oct-2011 Theodore Ts'o <tytso@mit.edu> Pass the gettext() function to libcom_err

For those e2fsprogs programs which use libcom_err and are
internationalized, pass the gettext() function to libcom_err during
program initialization.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
d1154eb460efe588eaed3d439c1caaca149fa362 18-Sep-2011 Theodore Ts'o <tytso@mit.edu> Shorten compile commands run by the build system

The DEFS line in MCONFIG had gotten so long that it exceeded 4k, and
this was starting to cause some tools heartburn. It also made "make
V=1" almost useless, since trying to following the individual commands
run by make was lost in the noise of all of the defines.

So fix this by putting the configure-generated defines in lib/config.h
and the directory pathnames to lib/dirpaths.h.

In addition, clean up some vestigal defines in configure.in and in the
Makefiles to further shorten the cc command lines.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
cf5301d7f2c3bbed3d26600335102414cbf0c4ba 11-Jun-2011 Andreas Dilger <adilger@whamcloud.com> misc: clean up compiler warnings

Fix several types of compiler warnings (unused variables/labels),
uninitialized variables, etc that are hit with gcc -Wall.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
cd5ca12d4339cbba55b96fa1d8b843e5f41a6466 14-Jun-2010 Valerie Aurora Henson <vaurora@redhat.com> e2image: Fix up to be 64-bit block number safe

Signed-off-by: Valerie Aurora Henson <vaurora@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
95bcea9fc149e349865f9eb30988ad1b4e1c1342 05-Oct-2009 Theodore Ts'o <tytso@mit.edu> Merge branch 'maint' into next

Conflicts:
configure
configure.in
misc/mke2fs.c
1d4a493fa213a61bd46f2e55ae5712bc8332a034 09-Sep-2009 Theodore Ts'o <tytso@mit.edu> e2undo: Initialize com_err error tables for the ext2fs library

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
24a117abd0340d247befbf7687ffb70547fdf218 08-Sep-2009 Valerie Aurora Henson <vaurora@redhat.com> Convert to use io_channel_read_blk64() and io_channel_write_blk64()

Signed-off-by: Valerie Aurora Henson <vaurora@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
577b5c436f1531d4d14bcba1bc10e230dafc9fd1 17-Jul-2008 Benno Schulenberg <bensberg@justemail.net> e2undo, tune2fs: Report the correct name for the undo program.

Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
38dd11f5953eef5d24f977801857d5df3e817de2 13-Jul-2008 Theodore Ts'o <tytso@mit.edu> e2undo: Don't use __FUNCTION__ for portability reasons

Solaris C99 apparently doesn't support it. We should report the
program name, not the internal function name, when printing an error
in any case.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
79e62409b3a247e258d9e9206484ed8f193a183e 07-Jul-2008 Eric Sandeen <sandeen@redhat.com> Clean up some trivial build warnings

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
11d4f30fe19fe543c8ba52cc6033e57a38a82e2a 08-Jun-2008 Theodore Ts'o <tytso@mit.edu> e2undo: Enable missing pieces to enable I18N for this application

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c
5f8a5ae6b8f7c273d678cbdaf56ec35cdb1b3587 13-Aug-2007 Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Add e2undo command

The e2undo command can be used to replay the transaction saved in the
transaction file using undo I/O Manager.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/misc/e2undo.c