mirror of
https://github.com/adulau/aha.git
synced 2024-12-29 04:06:22 +00:00
NTFS: Prepare for 2.1.23 release: Update documentation and bump version.
Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
This commit is contained in:
parent
4757d7dff6
commit
af859a42d7
4 changed files with 23 additions and 21 deletions
|
@ -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:
|
||||||
- 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 \
|
||||||
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)
|
||||||
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;
|
||||||
|
|
Loading…
Reference in a new issue