NTFS: 2.1.24 release and some minor final fixes.
authorAnton Altaparmakov <aia21@cantab.net>
Thu, 8 Sep 2005 22:01:16 +0000 (23:01 +0100)
committerAnton Altaparmakov <aia21@cantab.net>
Thu, 8 Sep 2005 22:01:16 +0000 (23:01 +0100)
Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
Documentation/filesystems/ntfs.txt
fs/ntfs/ChangeLog
fs/ntfs/Makefile
fs/ntfs/aops.c
fs/ntfs/super.c

index eef4aca0c753047226946f2d729e8d43f71fd2db..a5fbc8e897fa6f2f4a768241c66372de7b3366e7 100644 (file)
@@ -439,6 +439,18 @@ 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:
        - Stamp the user space journal, aka transaction log, aka $UsnJrnl, if
          it is present and active thus telling Windows and applications using
index 32a4150ebcb2f3f48e9308829e466edab6906e8d..e4fd6134244dd0f93290c3653ab56a3e4b4e1d12 100644 (file)
@@ -22,7 +22,7 @@ ToDo/Notes:
        - Enable the code for setting the NT4 compatibility flag when we start
          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
          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 the first buffer head instead of a driver global spin lock to
          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
         many bug fixes, cleanups, and enhancements...
index ce970dacf9085ebf27a31aa94fd316ad9038b5bb..894b2b876d353b5c61a81e30d39ef608993f9000 100644 (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 \
             unistr.o upcase.o
 
-EXTRA_CFLAGS = -DNTFS_VERSION=\"2.1.24-WIP\"
+EXTRA_CFLAGS = -DNTFS_VERSION=\"2.1.24\"
 
 ifeq ($(CONFIG_NTFS_DEBUG),y)
 EXTRA_CFLAGS += -DDEBUG
index 950b686f02d3f6ed8c6808ad47138eae369b6cfa..545236414d592b7f3abdf810799f64ae758ca2d2 100644 (file)
@@ -1727,27 +1727,25 @@ lock_retry_remap:
                                        if (likely(!err))
                                                goto lock_retry_remap;
                                        rl = NULL;
-                                       lcn = err;
                                } else if (!rl)
                                        up_read(&ni->runlist.lock);
                                /*
                                 * Failed to map the buffer, even after
                                 * retrying.
                                 */
+                               if (!err)
+                                       err = -EIO;
                                bh->b_blocknr = -1;
                                ntfs_error(vol->sb, "Failed to write to inode "
                                                "0x%lx, attribute type 0x%x, "
                                                "vcn 0x%llx, offset 0x%x "
                                                "because its location on disk "
                                                "could not be determined%s "
-                                               "(error code %lli).",
+                                               "(error code %i).",
                                                ni->mft_no, ni->type,
                                                (unsigned long long)vcn,
                                                vcn_ofs, is_retry ? " even "
-                                               "after retrying" : "",
-                                               (long long)lcn);
-                               if (!err)
-                                       err = -EIO;
+                                               "after retrying" : "", err);
                                goto err_out;
                        }
                        /* We now have a successful remap, i.e. lcn >= 0. */
index bf8569d503a6450847ef4f703862b3abbf5e5a10..b2b392961268fdefebc7b054d6149ceed78d57c9 100644 (file)
@@ -1688,9 +1688,9 @@ static BOOL load_system_files(ntfs_volume *vol)
        struct super_block *sb = vol->sb;
        MFT_RECORD *m;
        VOLUME_INFORMATION *vi;
-       RESTART_PAGE_HEADER *rp;
        ntfs_attr_search_ctx *ctx;
 #ifdef NTFS_RW
+       RESTART_PAGE_HEADER *rp;
        int err;
 #endif /* NTFS_RW */