Erik Larsson
3b26cf925a
Merge tag '2017.3.23' into edge.strict_endians
2017-03-23 10:41:56 +01:00
Erik Larsson
65f63fe2b3
Use signed endian conversion macros for signed little-endian members.
2017-03-21 11:55:41 +01:00
Erik Larsson
26ed262ae4
Merge tag '2017.2.15' into edge.strict_endians
...
Conflicts:
include/ntfs-3g/layout.h
include/ntfs-3g/logfile.h
libntfs-3g/reparse.c
libntfs-3g/unistr.c
ntfsprogs/ntfsdump_logfile.c
ntfsprogs/ntfsfix.c
ntfsprogs/ntfsinfo.c
ntfsprogs/ntfsrecover.c
ntfsprogs/ntfsresize.c
ntfsprogs/playlog.c
src/lowntfs-3g.c
src/ntfs-3g.c
2017-03-21 05:41:54 +01:00
Jean-Pierre André
3cc22ba329
Moved general declarations from ntfsrecover.h to logfile.h
...
The declarations related to the log file structure are now grouped
in logfile.h, those specific to the recovery process are kept in
ntfsrecover.h
2016-04-06 11:03:31 +02:00
Jean-Pierre André
ad59ecec3f
Redefined target_vcn on 64 bits in ntfsrecover.h
...
In a log record, the target vcn has to be stored on 64 bits
2016-04-06 10:45:30 +02:00
Jean-Pierre André
a6f4bae6d5
Typedef'ed new structs in ntfsrecover the same way as in logfile.h
...
Prepare merging ntfsrecover.h into logfile.h by declaring new structs
the same was as in logfile.h
2016-04-06 10:34:46 +02:00
Jean-Pierre André
2ab8bb509a
Typedef'ed old structs in ntfsrecover the same way as in logfile.h
...
Prepare merging ntfsrecover.h into logfile.h by declaring duplicated
structs the same way
2016-04-06 10:32:39 +02:00
Jean-Pierre André
71b03fbd16
Redefined ntfsrecover enums as little-endian values
...
Rather than cpu-endian values, use little-endian ones in ntfsrecover
for similarity with layout.h
2016-04-06 10:26:46 +02:00
Jean-Pierre André
8fc9c96305
Reworked decisions to undo related to unreadable records
...
When an INDX or MFT record could not be read while undoing the creation
of this record, there is nothing to do. However if this was undoing the
deletion of the last entry in an index, a new void index block has to be
created.
2016-04-06 08:44:38 +02:00
Erik Larsson
3e3ef8901c
Fixes for making strict endians branch compile after merge.
2016-02-05 18:04:22 +01:00
Erik Larsson
a2efc3ec9f
Change type of all LSN struct members in ntfsrecover.h to leLSN.
...
This is done to match the type of the LSN struct members in layout.h.
The effect of this change is that while these members were declared with
the le64 type previously, leLSN resolves to sle64. I.e. what was
previously unsigned fields are now signed.
Following this change we also need to switch over a few macros from
unsigned to signed versions in the code that uses these struct
definitions.
2016-01-29 12:36:06 +01:00
Erik Larsson
ee4c48f4b1
playlog.c: Use const macro for byteswapping const expression.
2016-01-29 10:49:52 +01:00
Erik Larsson
81fce3b70e
playlog.c: Fix improper byteswapping macros used for sle64 members.
2016-01-29 10:49:25 +01:00
Jean-Pierre André
f85b82c8e1
Fixed headers of log play functions in playlog
...
The functions were made static with a textual description.
2015-11-20 16:14:16 +01:00
Jean-Pierre André
aade4c46b6
Fixed missing error return in playlog
...
No error was returned from reading a protected record which is part of
an unreadable raw cluster.
2015-11-20 16:11:15 +01:00
Jean-Pierre André
ede1808ba6
Removed obsolete code from playlog
...
The code for dealing with new MFT records had been made more general
2015-11-12 15:46:33 +01:00
Jean-Pierre André
22b59548d9
Subdivided the replay functions in playlog
...
Partially unnested play_redos() and play_undos()
2015-11-12 15:44:47 +01:00
Jean-Pierre André
0cb0173bbc
Implemented recovery of updates committed by Windows
...
ntfsrecover applies to the metadata the updates which were requested on
Windows but could not be completed because they were interrupted by
some event such as a power failure, a hardware crash, a software crash
or the device being unplugged. Doing so, the file system is restored
to the latest consistent state.
No update to libntfs-3g is required by this implementation.
2015-11-09 13:18:58 +01:00