Commit af859a42 authored by Anton Altaparmakov's avatar Anton Altaparmakov

NTFS: Prepare for 2.1.23 release: Update documentation and bump version.

Signed-off-by: default avatarAnton Altaparmakov <aia21@cantab.net>
parent 4757d7df
...@@ -439,6 +439,21 @@ ChangeLog ...@@ -439,6 +439,21 @@ 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.23:
- Stamp the user space journal, aka transaction log, aka $UsnJrnl, if
it is present and active thus telling Windows and applications using
the transaction log that changes can have happened on the volume
which are not recorded in $UsnJrnl.
- Detect the case when Windows has been hibernated (suspended to disk)
and if this is the case do not allow (re)mounting read-write to
prevent data corruption when you boot back into the suspended
Windows session.
- Implement extension of resident files using the normal file write
code paths, i.e. most very small files can be extended to be a little
bit bigger but not by much.
- Improve handling of ntfs volumes with errors and strange boot sectors
in particular.
- Fix various bugs.
2.1.22: 2.1.22:
- Improve handling of ntfs volumes with errors. - Improve handling of ntfs volumes with errors.
- Fix various bugs and race conditions. - Fix various bugs and race conditions.
......
...@@ -22,35 +22,22 @@ ToDo/Notes: ...@@ -22,35 +22,22 @@ 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.23-WIP 2.1.23 - Implement extension of resident files and make writing safe as well as
many bug fixes, cleanups, and enhancements...
- Add printk rate limiting for ntfs_warning() and ntfs_error() when - Add printk rate limiting for ntfs_warning() and ntfs_error() when
compiled without debug. This avoids a possible denial of service compiled without debug. This avoids a possible denial of service
attack. Thanks to Carl-Daniel Hailfinger from SuSE for pointing this attack. Thanks to Carl-Daniel Hailfinger from SuSE for pointing this
out. out.
- Fix compilation warnings on ia64. (Randy Dunlap) - Fix compilation warnings on ia64. (Randy Dunlap)
- Use i_size_read() in fs/ntfs/attrib.c::ntfs_attr_set(). - Use i_size_{read,write}() instead of reading i_size by hand and cache
- Use i_size_read() in fs/ntfs/logfile.c::ntfs_{check,empty}_logfile(). the value where apropriate.
- Use i_size_read() once and then use the cached value in
fs/ntfs/lcnalloc.c::ntfs_cluster_alloc().
- Use i_size_read() in fs/ntfs/file.c::ntfs_file_open().
- Add size_lock to the ntfs_inode structure. This is an rw spinlock - Add size_lock to the ntfs_inode structure. This is an rw spinlock
and it locks against access to the inode sizes. Note, ->size_lock and it locks against access to the inode sizes. Note, ->size_lock
is also accessed from irq context so you must use the _irqsave and is also accessed from irq context so you must use the _irqsave and
_irqrestore lock and unlock functions, respectively. _irqrestore lock and unlock functions, respectively. Protect all
- Use i_size_read() in fs/ntfs/compress.c at the start of the read and accesses to allocated_size, initialized_size, and compressed_size.
use the cached value afterwards. Cache the initialized_size in the
same way and protect access to the two sizes using the size_lock.
- Use i_size_read() in fs/ntfs/dir.c once and then use the cached
value afterwards.
- Use i_size_read() in fs/ntfs/super.c once and then use the cached
value afterwards. Cache the initialized_size in the same way and
protect access to the two sizes using the size_lock.
- Minor optimization to fs/ntfs/super.c::ntfs_statfs() and its helpers. - Minor optimization to fs/ntfs/super.c::ntfs_statfs() and its helpers.
- Use i_size_read() in fs/ntfs/inode.c once and then use the cached
value afterwards when reading the size of the bitmap inode.
- Use i_size_{read,write}() in fs/ntfs/{aops.c,mft.c} and protect
access to the i_size and other size fields using the size_lock.
- Implement extension of resident files in the regular file write code - Implement extension of resident files in the regular file write code
paths (fs/ntfs/aops.c::ntfs_{prepare,commit}_write()). At present paths (fs/ntfs/aops.c::ntfs_{prepare,commit}_write()). At present
this only works until the data attribute becomes too big for the mft this only works until the data attribute becomes too big for the mft
......
...@@ -6,7 +6,7 @@ ntfs-objs := aops.o attrib.o collate.o compress.o debug.o dir.o file.o \ ...@@ -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.23-WIP\" EXTRA_CFLAGS = -DNTFS_VERSION=\"2.1.23\"
ifeq ($(CONFIG_NTFS_DEBUG),y) ifeq ($(CONFIG_NTFS_DEBUG),y)
EXTRA_CFLAGS += -DDEBUG EXTRA_CFLAGS += -DDEBUG
......
...@@ -1324,7 +1324,7 @@ int ntfs_attr_make_non_resident(ntfs_inode *ni) ...@@ -1324,7 +1324,7 @@ int ntfs_attr_make_non_resident(ntfs_inode *ni)
if (IS_ERR(rl)) { if (IS_ERR(rl)) {
err = PTR_ERR(rl); err = PTR_ERR(rl);
ntfs_debug("Failed to allocate cluster%s, error code " ntfs_debug("Failed to allocate cluster%s, error code "
"%i.\n", (new_size >> "%i.", (new_size >>
vol->cluster_size_bits) > 1 ? "s" : "", vol->cluster_size_bits) > 1 ? "s" : "",
err); err);
goto page_err_out; goto page_err_out;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment