Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit af859a42 authored by Anton Altaparmakov's avatar Anton Altaparmakov
Browse files

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

parent 4757d7df
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -439,6 +439,21 @@ 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:
	- Improve handling of ntfs volumes with errors.
	- Fix various bugs and race conditions.
+6 −19
Original line number Diff line number Diff line
@@ -22,35 +22,22 @@ ToDo/Notes:
	- Enable the code for setting the NT4 compatibility flag when we start
	  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
	  compiled without debug.  This avoids a possible denial of service
	  attack.  Thanks to Carl-Daniel Hailfinger from SuSE for pointing this
	  out.
	- Fix compilation warnings on ia64.  (Randy Dunlap)
	- Use i_size_read() in fs/ntfs/attrib.c::ntfs_attr_set().
	- Use i_size_read() in fs/ntfs/logfile.c::ntfs_{check,empty}_logfile().
	- 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().
	- Use i_size_{read,write}() instead of reading i_size by hand and cache
	  the value where apropriate.
	- 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
	  is also accessed from irq context so you must use the _irqsave and
	  _irqrestore lock and unlock functions, respectively.
	- Use i_size_read() in fs/ntfs/compress.c at the start of the read and
	  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.
	  _irqrestore lock and unlock functions, respectively.  Protect all
	  accesses to allocated_size, initialized_size, and compressed_size.
	- 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
	  paths (fs/ntfs/aops.c::ntfs_{prepare,commit}_write()).  At present
	  this only works until the data attribute becomes too big for the mft
+1 −1
Original line number Diff line number Diff line
@@ -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.23-WIP\"
EXTRA_CFLAGS = -DNTFS_VERSION=\"2.1.23\"

ifeq ($(CONFIG_NTFS_DEBUG),y)
EXTRA_CFLAGS += -DDEBUG
+1 −1
Original line number Diff line number Diff line
@@ -1324,7 +1324,7 @@ int ntfs_attr_make_non_resident(ntfs_inode *ni)
		if (IS_ERR(rl)) {
			err = PTR_ERR(rl);
			ntfs_debug("Failed to allocate cluster%s, error code "
					"%i.\n", (new_size >>
					"%i.", (new_size >>
					vol->cluster_size_bits) > 1 ? "s" : "",
					err);
			goto page_err_out;