public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [2.6-GIT] NTFS: Release 2.1.25.
@ 2005-10-31 14:22 Anton Altaparmakov
  2005-10-31 14:24 ` [PATCH 1/17] NTFS: Change ntfs_map_runlist_nolock() to also take an optional attribute search context Anton Altaparmakov
                   ` (18 more replies)
  0 siblings, 19 replies; 28+ messages in thread
From: Anton Altaparmakov @ 2005-10-31 14:22 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, linux-ntfs-dev

Hi Linus, please pull from

git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs-2.6.git

This is the next NTFS update containing more extended write support (and 
in fact pretty much completely rewritten file write support)!  This has 
been in -mm for a while and at least one person (other than me that is) 
tested it, found a bug which I fixed, and since then noone has reported 
any bugs with the code.  So I think it is definitely ready for a larger 
audience, i.e. the mainline kernel.  (-:

Please apply.  Thanks!  (Diffstat is at bottom of email.)

And people: please try it before Linus releases 2.6.15 and report back 
(especially if you find bugs but even a "it works" would be nice to hear 
from a few more people)...

The new features are:

Given an existing uncompressed and unencrypted file, you can use:

- write(2) to write to the file, including beyond the end of the
existing file, and the file will be extended appropriately.  Both
resident and non-resident files are supported.  Support for heavily
fragmented files still has some limitations but you will just get an
EOPNOTSUPP error if you hit one.  Everything will still be consistent on
the volume.  Sparse files can also be written to and holes will be
filled in appropriately.

- truncate(2) and ftruncate(2) to change the size of the file, inlcuding
using open(2) with O_TRUNC flag.  As with write(2) there still are some
limitations for heavily fragmented files, and as above, everything will
still be consistent on the volume if you hit an unsupported case.  Note, 
that no sparse regions are created yet as this requires directory 
operations to be implemented, too, which they are not yet.  This is not as 
bad as it sounds as the regions are allocated but not initialized at the 
time of the truncate call so it is still very fast.  Though a subsequent 
write then needs to initialize the space so may be slow...

What this means is that you can now run your favourite editor on an 
existing file, e.g. "vim /ntfs/somefile.txt" works fine and you can save 
your changes.  Also things like running OpenOffice and editing existing MS 
Office documents works.  Basically anything that does not need to create 
temporary files in the same directory as the document should work fine 
now.

Still not supported features are creation/deletion of files/directories
and mmap(2) based writes to sparse regions of files.  (The mmap(2)
support has not been modified since the last release, only the file
write(2) support was rewritten.)

Here is the diffstat for those who care...

 b/Documentation/filesystems/ntfs.txt |   42 
 b/fs/ntfs/ChangeLog                  |  117 +
 b/fs/ntfs/Makefile                   |    4 
 b/fs/ntfs/aops.c                     |  832 ------------
 b/fs/ntfs/attrib.c                   |  987 +++++++++++++--
 b/fs/ntfs/attrib.h                   |   10 
 b/fs/ntfs/file.c                     | 2289 ++++++++++++++++++++++++++++++++++-
 b/fs/ntfs/inode.c                    |  514 +++++++
 b/fs/ntfs/layout.h                   |   31 
 b/fs/ntfs/lcnalloc.c                 |   60 
 b/fs/ntfs/lcnalloc.h                 |   43 
 b/fs/ntfs/malloc.h                   |    3 
 b/fs/ntfs/mft.c                      |   26 
 b/fs/ntfs/super.c                    |    2 
 14 files changed, 3879 insertions(+), 1081 deletions(-)

I am sending the changesets as actual patches generated using git
format-patch for non-git users in follow up emails (in reply to this one).

Best regards,

	Anton
-- 
Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)
Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK
Linux NTFS maintainer / IRC: #ntfs on irc.freenode.net
WWW: http://linux-ntfs.sf.net/ & http://www-stu.christs.cam.ac.uk/~aia21/

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2005-11-01 16:23 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-10-31 14:22 [2.6-GIT] NTFS: Release 2.1.25 Anton Altaparmakov
2005-10-31 14:24 ` [PATCH 1/17] NTFS: Change ntfs_map_runlist_nolock() to also take an optional attribute search context Anton Altaparmakov
2005-10-31 14:25 ` [PATCH 2/17] NTFS: Change ntfs_attr_find_vcn_nolock() " Anton Altaparmakov
2005-10-31 14:26 ` [PATCH 3/17] NTFS: - Change {__,}ntfs_cluster_free() " Anton Altaparmakov
2005-10-31 14:27 ` [PATCH 4/17] NTFS: - Change ntfs_cluster_alloc() to take an extra boolean parameter Anton Altaparmakov
2005-10-31 14:27 ` [PATCH 5/17] NTFS: Change ntfs_attr_make_non_resident to take the attribute value size Anton Altaparmakov
2005-10-31 14:29 ` [PATCH 6/17] NTFS: Fix ntfs_attr_make_non_resident() to update the vfs inode i_blocks Anton Altaparmakov
2005-10-31 14:30 ` [PATCH 7/17] NTFS: Add fs/ntfs/attrib.[hc]::ntfs_attr_extend_allocation() Anton Altaparmakov
2005-10-31 14:31 ` [PATCH 8/17] NTFS: Implement fs/ntfs/inode.[hc]::ntfs_truncate() Anton Altaparmakov
2005-10-31 14:32 ` [PATCH 9/17] NTFS: Enable ATTR_SIZE attribute changes in ntfs_setattr() Anton Altaparmakov
2005-10-31 14:32 ` [PATCH 10/17] NTFS: In attrib.c::ntfs_attr_set() call balance_dirty_pages_ratelimited() Anton Altaparmakov
2005-10-31 14:33 ` [PATCH 11/17] NTFS: Remove address space operations ->prepare_write and ->commit_write Anton Altaparmakov
2005-10-31 14:36 ` [PATCH 12/17] NTFS: The big ntfs write(2) rewrite has arrived Anton Altaparmakov
2005-10-31 14:38 ` [PATCH 13/17] NTFS: $EA attributes can be both resident non-resident Anton Altaparmakov
2005-10-31 14:38 ` [PATCH 14/17] NTFS: Fix serious data corruption issue when writing Anton Altaparmakov
2005-10-31 14:40 ` [PATCH 15/17] NTFS: Use %z for size_t to fix compilation warnings. (Andrew Morton) Anton Altaparmakov
2005-10-31 14:41 ` [PATCH 16/17] NTFS: Fix compilation warnings with gcc-4.0.2 on SUSE 10.0 Anton Altaparmakov
2005-10-31 14:42 ` [PATCH 17/17] NTFS: Document extended attribute ($EA) NEED_EA flag Anton Altaparmakov
2005-10-31 19:30 ` [Linux-NTFS-Dev] [2.6-GIT] NTFS: Release 2.1.25 Yuval
2005-10-31 20:05   ` Anton Altaparmakov
2005-10-31 20:24 ` Yura Pakhuchiy
2005-10-31 20:49   ` Anton Altaparmakov
2005-10-31 21:25     ` Yura Pakhuchiy
2005-10-31 21:54       ` Anton Altaparmakov
2005-11-01 14:48         ` Yura Pakhuchiy
2005-11-01 14:56           ` Anton Altaparmakov
2005-11-01 15:01             ` Yura Pakhuchiy
2005-11-01 16:22               ` Anton Altaparmakov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox