aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/filesystems/ntfs.txt12
-rw-r--r--fs/ntfs/ChangeLog4
-rw-r--r--fs/ntfs/Makefile2
-rw-r--r--fs/ntfs/aops.c10
-rw-r--r--fs/ntfs/super.c2
5 files changed, 21 insertions, 9 deletions
diff --git a/Documentation/filesystems/ntfs.txt b/Documentation/filesystems/ntfs.txt
index eef4aca0c753..a5fbc8e897fa 100644
--- a/Documentation/filesystems/ntfs.txt
+++ b/Documentation/filesystems/ntfs.txt
@@ -439,6 +439,18 @@ ChangeLog
439 439
440Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog. 440Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog.
441 441
4422.1.24:
443 - Support journals ($LogFile) which have been modified by chkdsk. This
444 means users can boot into Windows after we marked the volume dirty.
445 The Windows boot will run chkdsk and then reboot. The user can then
446 immediately boot into Linux rather than having to do a full Windows
447 boot first before rebooting into Linux and we will recognize such a
448 journal and empty it as it is clean by definition.
449 - Support journals ($LogFile) with only one restart page as well as
450 journals with two different restart pages. We sanity check both and
451 either use the only sane one or the more recent one of the two in the
452 case that both are valid.
453 - Lots of bug fixes and enhancements across the board.
4422.1.23: 4542.1.23:
443 - Stamp the user space journal, aka transaction log, aka $UsnJrnl, if 455 - Stamp the user space journal, aka transaction log, aka $UsnJrnl, if
444 it is present and active thus telling Windows and applications using 456 it is present and active thus telling Windows and applications using
diff --git a/fs/ntfs/ChangeLog b/fs/ntfs/ChangeLog
index 32a4150ebcb2..e4fd6134244d 100644
--- a/fs/ntfs/ChangeLog
+++ b/fs/ntfs/ChangeLog
@@ -22,7 +22,7 @@ ToDo/Notes:
22 - Enable the code for setting the NT4 compatibility flag when we start 22 - Enable the code for setting the NT4 compatibility flag when we start
23 making NTFS 1.2 specific modifications. 23 making NTFS 1.2 specific modifications.
24 24
252.1.24-WIP 252.1.24 - Lots of bug fixes and support more clean journal states.
26 26
27 - Support journals ($LogFile) which have been modified by chkdsk. This 27 - Support journals ($LogFile) which have been modified by chkdsk. This
28 means users can boot into Windows after we marked the volume dirty. 28 means users can boot into Windows after we marked the volume dirty.
@@ -89,6 +89,8 @@ ToDo/Notes:
89 - In fs/ntfs/aops.c::ntfs_end_buffer_async_read(), use a bit spin lock 89 - In fs/ntfs/aops.c::ntfs_end_buffer_async_read(), use a bit spin lock
90 in the first buffer head instead of a driver global spin lock to 90 in the first buffer head instead of a driver global spin lock to
91 improve scalability. 91 improve scalability.
92 - Minor fix to error handling and error message display in
93 fs/ntfs/aops.c::ntfs_prepare_nonresident_write().
92 94
932.1.23 - Implement extension of resident files and make writing safe as well as 952.1.23 - Implement extension of resident files and make writing safe as well as
94 many bug fixes, cleanups, and enhancements... 96 many bug fixes, cleanups, and enhancements...
diff --git a/fs/ntfs/Makefile b/fs/ntfs/Makefile
index ce970dacf908..894b2b876d35 100644
--- a/fs/ntfs/Makefile
+++ b/fs/ntfs/Makefile
@@ -6,7 +6,7 @@ ntfs-objs := aops.o attrib.o collate.o compress.o debug.o dir.o file.o \
6 index.o inode.o mft.o mst.o namei.o runlist.o super.o sysctl.o \ 6 index.o inode.o mft.o mst.o namei.o runlist.o super.o sysctl.o \
7 unistr.o upcase.o 7 unistr.o upcase.o
8 8
9EXTRA_CFLAGS = -DNTFS_VERSION=\"2.1.24-WIP\" 9EXTRA_CFLAGS = -DNTFS_VERSION=\"2.1.24\"
10 10
11ifeq ($(CONFIG_NTFS_DEBUG),y) 11ifeq ($(CONFIG_NTFS_DEBUG),y)
12EXTRA_CFLAGS += -DDEBUG 12EXTRA_CFLAGS += -DDEBUG
diff --git a/fs/ntfs/aops.c b/fs/ntfs/aops.c
index 950b686f02d3..545236414d59 100644
--- a/fs/ntfs/aops.c
+++ b/fs/ntfs/aops.c
@@ -1727,27 +1727,25 @@ lock_retry_remap:
1727 if (likely(!err)) 1727 if (likely(!err))
1728 goto lock_retry_remap; 1728 goto lock_retry_remap;
1729 rl = NULL; 1729 rl = NULL;
1730 lcn = err;
1731 } else if (!rl) 1730 } else if (!rl)
1732 up_read(&ni->runlist.lock); 1731 up_read(&ni->runlist.lock);
1733 /* 1732 /*
1734 * Failed to map the buffer, even after 1733 * Failed to map the buffer, even after
1735 * retrying. 1734 * retrying.
1736 */ 1735 */
1736 if (!err)
1737 err = -EIO;
1737 bh->b_blocknr = -1; 1738 bh->b_blocknr = -1;
1738 ntfs_error(vol->sb, "Failed to write to inode " 1739 ntfs_error(vol->sb, "Failed to write to inode "
1739 "0x%lx, attribute type 0x%x, " 1740 "0x%lx, attribute type 0x%x, "
1740 "vcn 0x%llx, offset 0x%x " 1741 "vcn 0x%llx, offset 0x%x "
1741 "because its location on disk " 1742 "because its location on disk "
1742 "could not be determined%s " 1743 "could not be determined%s "
1743 "(error code %lli).", 1744 "(error code %i).",
1744 ni->mft_no, ni->type, 1745 ni->mft_no, ni->type,
1745 (unsigned long long)vcn, 1746 (unsigned long long)vcn,
1746 vcn_ofs, is_retry ? " even " 1747 vcn_ofs, is_retry ? " even "
1747 "after retrying" : "", 1748 "after retrying" : "", err);
1748 (long long)lcn);
1749 if (!err)
1750 err = -EIO;
1751 goto err_out; 1749 goto err_out;
1752 } 1750 }
1753 /* We now have a successful remap, i.e. lcn >= 0. */ 1751 /* We now have a successful remap, i.e. lcn >= 0. */
diff --git a/fs/ntfs/super.c b/fs/ntfs/super.c
index bf8569d503a6..b2b392961268 100644
--- a/fs/ntfs/super.c
+++ b/fs/ntfs/super.c
@@ -1688,9 +1688,9 @@ static BOOL load_system_files(ntfs_volume *vol)
1688 struct super_block *sb = vol->sb; 1688 struct super_block *sb = vol->sb;
1689 MFT_RECORD *m; 1689 MFT_RECORD *m;
1690 VOLUME_INFORMATION *vi; 1690 VOLUME_INFORMATION *vi;
1691 RESTART_PAGE_HEADER *rp;
1692 ntfs_attr_search_ctx *ctx; 1691 ntfs_attr_search_ctx *ctx;
1693#ifdef NTFS_RW 1692#ifdef NTFS_RW
1693 RESTART_PAGE_HEADER *rp;
1694 int err; 1694 int err;
1695#endif /* NTFS_RW */ 1695#endif /* NTFS_RW */
1696 1696