Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

NTFS: 2.1.24 release and some minor final fixes.

Signed-off-by: Anton Altaparmakov <aia21@cantab.net>

+21 -9
+12
Documentation/filesystems/ntfs.txt
··· 439 439 440 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 454 2.1.23: 443 455 - Stamp the user space journal, aka transaction log, aka $UsnJrnl, if 444 456 it is present and active thus telling Windows and applications using
+3 -1
fs/ntfs/ChangeLog
··· 22 22 - Enable the code for setting the NT4 compatibility flag when we start 23 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 27 - Support journals ($LogFile) which have been modified by chkdsk. This 28 28 means users can boot into Windows after we marked the volume dirty. ··· 89 89 - In fs/ntfs/aops.c::ntfs_end_buffer_async_read(), use a bit spin lock 90 90 in the first buffer head instead of a driver global spin lock to 91 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 95 2.1.23 - Implement extension of resident files and make writing safe as well as 94 96 many bug fixes, cleanups, and enhancements...
+1 -1
fs/ntfs/Makefile
··· 6 6 index.o inode.o mft.o mst.o namei.o runlist.o super.o sysctl.o \ 7 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 11 ifeq ($(CONFIG_NTFS_DEBUG),y) 12 12 EXTRA_CFLAGS += -DDEBUG
+4 -6
fs/ntfs/aops.c
··· 1727 1727 if (likely(!err)) 1728 1728 goto lock_retry_remap; 1729 1729 rl = NULL; 1730 - lcn = err; 1731 1730 } else if (!rl) 1732 1731 up_read(&ni->runlist.lock); 1733 1732 /* 1734 1733 * Failed to map the buffer, even after 1735 1734 * retrying. 1736 1735 */ 1736 + if (!err) 1737 + err = -EIO; 1737 1738 bh->b_blocknr = -1; 1738 1739 ntfs_error(vol->sb, "Failed to write to inode " 1739 1740 "0x%lx, attribute type 0x%x, " 1740 1741 "vcn 0x%llx, offset 0x%x " 1741 1742 "because its location on disk " 1742 1743 "could not be determined%s " 1743 - "(error code %lli).", 1744 + "(error code %i).", 1744 1745 ni->mft_no, ni->type, 1745 1746 (unsigned long long)vcn, 1746 1747 vcn_ofs, is_retry ? " even " 1747 - "after retrying" : "", 1748 - (long long)lcn); 1749 - if (!err) 1750 - err = -EIO; 1748 + "after retrying" : "", err); 1751 1749 goto err_out; 1752 1750 } 1753 1751 /* We now have a successful remap, i.e. lcn >= 0. */
+1 -1
fs/ntfs/super.c
··· 1688 1688 struct super_block *sb = vol->sb; 1689 1689 MFT_RECORD *m; 1690 1690 VOLUME_INFORMATION *vi; 1691 - RESTART_PAGE_HEADER *rp; 1692 1691 ntfs_attr_search_ctx *ctx; 1693 1692 #ifdef NTFS_RW 1693 + RESTART_PAGE_HEADER *rp; 1694 1694 int err; 1695 1695 #endif /* NTFS_RW */ 1696 1696