NTFS: 2.1.24 release and some minor final fixes.

Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
This commit is contained in:
Anton Altaparmakov 2005-09-08 23:01:16 +01:00
parent e604635c8b
commit 7d333d6c73
5 changed files with 21 additions and 9 deletions

View file

@ -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

View file

@ -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...

View file

@ -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

View file

@ -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. */

View file

@ -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 */