NTFS: 2.1.24 release and some minor final fixes.
Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
This commit is contained in:
parent
e604635c8b
commit
7d333d6c73
5 changed files with 21 additions and 9 deletions
|
@ -439,6 +439,18 @@ ChangeLog
|
||||||
|
|
||||||
Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog.
|
Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog.
|
||||||
|
|
||||||
|
2.1.24:
|
||||||
|
- Support journals ($LogFile) which have been modified by chkdsk. This
|
||||||
|
means users can boot into Windows after we marked the volume dirty.
|
||||||
|
The Windows boot will run chkdsk and then reboot. The user can then
|
||||||
|
immediately boot into Linux rather than having to do a full Windows
|
||||||
|
boot first before rebooting into Linux and we will recognize such a
|
||||||
|
journal and empty it as it is clean by definition.
|
||||||
|
- Support journals ($LogFile) with only one restart page as well as
|
||||||
|
journals with two different restart pages. We sanity check both and
|
||||||
|
either use the only sane one or the more recent one of the two in the
|
||||||
|
case that both are valid.
|
||||||
|
- Lots of bug fixes and enhancements across the board.
|
||||||
2.1.23:
|
2.1.23:
|
||||||
- Stamp the user space journal, aka transaction log, aka $UsnJrnl, if
|
- Stamp the user space journal, aka transaction log, aka $UsnJrnl, if
|
||||||
it is present and active thus telling Windows and applications using
|
it is present and active thus telling Windows and applications using
|
||||||
|
|
|
@ -22,7 +22,7 @@ ToDo/Notes:
|
||||||
- Enable the code for setting the NT4 compatibility flag when we start
|
- Enable the code for setting the NT4 compatibility flag when we start
|
||||||
making NTFS 1.2 specific modifications.
|
making NTFS 1.2 specific modifications.
|
||||||
|
|
||||||
2.1.24-WIP
|
2.1.24 - Lots of bug fixes and support more clean journal states.
|
||||||
|
|
||||||
- Support journals ($LogFile) which have been modified by chkdsk. This
|
- Support journals ($LogFile) which have been modified by chkdsk. This
|
||||||
means users can boot into Windows after we marked the volume dirty.
|
means users can boot into Windows after we marked the volume dirty.
|
||||||
|
@ -89,6 +89,8 @@ ToDo/Notes:
|
||||||
- In fs/ntfs/aops.c::ntfs_end_buffer_async_read(), use a bit spin lock
|
- In fs/ntfs/aops.c::ntfs_end_buffer_async_read(), use a bit spin lock
|
||||||
in the first buffer head instead of a driver global spin lock to
|
in the first buffer head instead of a driver global spin lock to
|
||||||
improve scalability.
|
improve scalability.
|
||||||
|
- Minor fix to error handling and error message display in
|
||||||
|
fs/ntfs/aops.c::ntfs_prepare_nonresident_write().
|
||||||
|
|
||||||
2.1.23 - Implement extension of resident files and make writing safe as well as
|
2.1.23 - Implement extension of resident files and make writing safe as well as
|
||||||
many bug fixes, cleanups, and enhancements...
|
many bug fixes, cleanups, and enhancements...
|
||||||
|
|
|
@ -6,7 +6,7 @@ ntfs-objs := aops.o attrib.o collate.o compress.o debug.o dir.o file.o \
|
||||||
index.o inode.o mft.o mst.o namei.o runlist.o super.o sysctl.o \
|
index.o inode.o mft.o mst.o namei.o runlist.o super.o sysctl.o \
|
||||||
unistr.o upcase.o
|
unistr.o upcase.o
|
||||||
|
|
||||||
EXTRA_CFLAGS = -DNTFS_VERSION=\"2.1.24-WIP\"
|
EXTRA_CFLAGS = -DNTFS_VERSION=\"2.1.24\"
|
||||||
|
|
||||||
ifeq ($(CONFIG_NTFS_DEBUG),y)
|
ifeq ($(CONFIG_NTFS_DEBUG),y)
|
||||||
EXTRA_CFLAGS += -DDEBUG
|
EXTRA_CFLAGS += -DDEBUG
|
||||||
|
|
|
@ -1727,27 +1727,25 @@ static int ntfs_prepare_nonresident_write(struct page *page,
|
||||||
if (likely(!err))
|
if (likely(!err))
|
||||||
goto lock_retry_remap;
|
goto lock_retry_remap;
|
||||||
rl = NULL;
|
rl = NULL;
|
||||||
lcn = err;
|
|
||||||
} else if (!rl)
|
} else if (!rl)
|
||||||
up_read(&ni->runlist.lock);
|
up_read(&ni->runlist.lock);
|
||||||
/*
|
/*
|
||||||
* Failed to map the buffer, even after
|
* Failed to map the buffer, even after
|
||||||
* retrying.
|
* retrying.
|
||||||
*/
|
*/
|
||||||
|
if (!err)
|
||||||
|
err = -EIO;
|
||||||
bh->b_blocknr = -1;
|
bh->b_blocknr = -1;
|
||||||
ntfs_error(vol->sb, "Failed to write to inode "
|
ntfs_error(vol->sb, "Failed to write to inode "
|
||||||
"0x%lx, attribute type 0x%x, "
|
"0x%lx, attribute type 0x%x, "
|
||||||
"vcn 0x%llx, offset 0x%x "
|
"vcn 0x%llx, offset 0x%x "
|
||||||
"because its location on disk "
|
"because its location on disk "
|
||||||
"could not be determined%s "
|
"could not be determined%s "
|
||||||
"(error code %lli).",
|
"(error code %i).",
|
||||||
ni->mft_no, ni->type,
|
ni->mft_no, ni->type,
|
||||||
(unsigned long long)vcn,
|
(unsigned long long)vcn,
|
||||||
vcn_ofs, is_retry ? " even "
|
vcn_ofs, is_retry ? " even "
|
||||||
"after retrying" : "",
|
"after retrying" : "", err);
|
||||||
(long long)lcn);
|
|
||||||
if (!err)
|
|
||||||
err = -EIO;
|
|
||||||
goto err_out;
|
goto err_out;
|
||||||
}
|
}
|
||||||
/* We now have a successful remap, i.e. lcn >= 0. */
|
/* We now have a successful remap, i.e. lcn >= 0. */
|
||||||
|
|
|
@ -1688,9 +1688,9 @@ static BOOL load_system_files(ntfs_volume *vol)
|
||||||
struct super_block *sb = vol->sb;
|
struct super_block *sb = vol->sb;
|
||||||
MFT_RECORD *m;
|
MFT_RECORD *m;
|
||||||
VOLUME_INFORMATION *vi;
|
VOLUME_INFORMATION *vi;
|
||||||
RESTART_PAGE_HEADER *rp;
|
|
||||||
ntfs_attr_search_ctx *ctx;
|
ntfs_attr_search_ctx *ctx;
|
||||||
#ifdef NTFS_RW
|
#ifdef NTFS_RW
|
||||||
|
RESTART_PAGE_HEADER *rp;
|
||||||
int err;
|
int err;
|
||||||
#endif /* NTFS_RW */
|
#endif /* NTFS_RW */
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue