diff options
-rw-r--r-- | Documentation/filesystems/ntfs.txt | 12 | ||||
-rw-r--r-- | fs/ntfs/ChangeLog | 4 | ||||
-rw-r--r-- | fs/ntfs/Makefile | 2 | ||||
-rw-r--r-- | fs/ntfs/aops.c | 10 | ||||
-rw-r--r-- | fs/ntfs/super.c | 2 |
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 | ||
440 | Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog. | 440 | Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog. |
441 | 441 | ||
442 | 2.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. | ||
442 | 2.1.23: | 454 | 2.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 | ||
25 | 2.1.24-WIP | 25 | 2.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 | ||
93 | 2.1.23 - Implement extension of resident files and make writing safe as well as | 95 | 2.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 | ||
9 | EXTRA_CFLAGS = -DNTFS_VERSION=\"2.1.24-WIP\" | 9 | EXTRA_CFLAGS = -DNTFS_VERSION=\"2.1.24\" |
10 | 10 | ||
11 | ifeq ($(CONFIG_NTFS_DEBUG),y) | 11 | ifeq ($(CONFIG_NTFS_DEBUG),y) |
12 | EXTRA_CFLAGS += -DDEBUG | 12 | EXTRA_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 | ||