Commit Graph

541 Commits (3a50e66a59343d2d187f8d33ce1e7d45171a6269)

Author SHA1 Message Date
antona b942e2c03a Move ntfsmount to extra programs as it doesn't even approximate being
compilable!  (At least on my machine which has fuse 2.2.1.)
And I need a working snapshot for Timur.
2005-07-09 21:32:17 +00:00
flatcap 7a142ef54c got bored. don't read the diffs. 2005-07-06 22:47:01 +00:00
cha0smaster cb13f36956 Fix typos, patch from debian version of nftsprogs 1.9.4-2. 2005-07-05 16:34:15 +00:00
cha0smaster 3727a729c2 - Add new utility - ntfsmount. It's a FUSE module that rely on libntfs. So,
you need FUSE to compile it, xattr is also highly recommended. This module
support file overwrite changing it size and can list/read/write/add/remove
named data streams via xattr interface.
- Update auto{make,conf} stuff respectively.
2005-07-03 00:18:37 +00:00
cha0smaster 3adc040305 Add change protype of ntfs_attr_pwrite: make @b const. 2005-07-02 19:16:18 +00:00
cha0smaster 9deb743974 Optimize a bit previous ntfs_inode_close fix. 2005-07-02 17:48:59 +00:00
cha0smaster b8e1188102 Fix memory managament error in ntfs_inode_close. ntfs_extent_inode_open
allocates buffer for up to 4 extent inodes, to prevent many reallocates.
But ntfs_inode_close always reallocate buffer to store exactly @nr_extents
inodes. Bug will arise in following scenario:
1) ntfs_extent_inode_open (1 extent, allocate buffer for 4)
2) ntfs_extent_inode_open (2 extents, use already allocated buffer)
3) ntfs_inode_close(extent_ni) (1 extent, reallocate buffer for 1 extent)
4) ntfs_extent_inode_open (2 extents, don't reallocate buffer because it should be for 4 elements, but really it's for 1, write to unitialized space, segfault)
2005-07-02 13:58:02 +00:00
cha0smaster fbe45ebac6 Fix valgrind varning about writing unitialized buffer. 2005-07-02 13:47:29 +00:00
szaka 70530ad551 ntfs_inode_close(): ElectricFence is unhappy with realloc(x,0) as free(x)
thus we distinguish these two cases
2005-06-27 20:30:09 +00:00
szaka d8dd64d425 Correct ntfs_inode_sync_file_name comment typos 2005-06-25 13:15:12 +00:00
antona 31a8750c4d Fix compiler warnings in libntfs when compiling under cygwin. 2005-06-21 09:55:15 +00:00
antona ca873f0474 Eeek. Someone did a commit just as I was about to commit so the commit
message was lost!  )-:

Now again...

Monster commit from me due to lack of time.  Sorry about that.

Features:

- Version to 1.10.0
- Update readme, etc ready for release.
- Update build system to suse linux 9.3 versions.
- Fix warnings appearing for me on suse 9.3 with --enable-warnings --enable-debug.
- Set attr_name to NULL in libntfs/attrib.c::__ntfs_attr_init() and fixup all
  callers apropriately.  Thanks to FlatCap/Rich for pointing this out.
- Determine endianness in ./configure and use that in addition to existing
  mechanisms for determining endianness.
2005-06-20 14:31:30 +00:00
flatcap 09936e5c22 typos 2005-06-20 14:23:50 +00:00
flatcap 086fd4cc0c probably a bug in __ntfs_attr_init 2005-06-20 14:23:27 +00:00
flatcap 949043ab36 Tidy whitespace: trailing space; <space><tab> at the beginning of lines
Fix warnings about sign differences
Fix warnings about unused parameters
Tidy a few functions that didn't have { on a new line
2005-06-19 21:09:40 +00:00
antona cc992ab0f6 Add more things to .cvsignore files. 2005-06-19 13:20:40 +00:00
cha0smaster e323ed6a03 Move utils_pathname_to_inode from to library (dir.c), adapt it for library, rename it to ntfs_pathname_to_inode, update all users. 2005-06-12 18:12:55 +00:00
cha0smaster b1dfa2b306 - Fix memleak in ntfs_attr_pwrite
- Update layout.h a bit to be a kernel driver like.
2005-06-12 15:23:25 +00:00
cha0smaster 676d8782e8 - Update attribute definition handling. (Anton, Yura) 2005-06-09 22:09:39 +00:00
flatcap 554b27dd47 ignore built/generated files 2005-06-09 09:05:30 +00:00
cha0smaster 373e47acb5 Fix coding style. 2005-06-08 18:02:29 +00:00
antona dd52588aae Use dynamic buffer in ntfs_device_win32_find_partition().
Based on patch from Yuval.
2005-06-06 14:51:09 +00:00
antona 1aeb91827c Update build for changes to function detection in configure.ac. 2005-06-06 14:31:37 +00:00
antona 62a4484a94 Finally fix the win32 write support problems. 2005-06-06 14:30:38 +00:00
cha0smaster d2ed58e6a2 Anyway, this extra check will not harm anybody, but in case windows support such names it's will be useful. 2005-06-06 04:26:28 +00:00
cha0smaster 410432bc9d - Fix bug in index.c pointed by Anton, many thanks to him.
- Small updates all over the place:
   * NEWS
   * ntfscp manual page
   * ntfsinfo prints parent directory for FILE_NAME attribute
   * year in ntfscp copyright
2005-06-05 23:48:55 +00:00
cha0smaster 4b000b3d13 - Implement FILE_NAME attributes update in index during inode sync and enable code that set/clean sparse bit. Also add new inode state bit FileNameDirty to indicate that FILE_NAME attributes need update. At least after attribute resize we leave absolutely consist volume.
- Bugfixes to collate.c and index.c.
- Minor formating fixed to ntfscp and ntfsinfo.
2005-06-05 14:55:08 +00:00
cha0smaster 048a1857be Fix some bugs and warnings in code that I commited tonight. 2005-06-04 15:20:00 +00:00
cha0smaster 2d8dc1736d - Port collate.[ch] from kernel to library and implement

							
						
2005-06-04 00:57:58 +00:00
antona d530c02e49 Ooops. Forgot to actually use our fnSetFilePointerEx() instead of
SetFilePointerEx() directly...
2005-06-03 10:33:35 +00:00
antona b8a543a27e Do dynamic run-time detection of SetFilePointerEx() instead of defunct
autoconf crap.
Also, fix a really stupid bug in the emulated SetFilePointerEx() which caused
the segfaults.  (It unconditionally wrote to a pointer even when it was NULL.)
2005-06-03 10:27:32 +00:00
szaka fbbefe0c70 - read-write ntfs_mount() returns EPERM if the partition is hibernated 2005-05-10 16:53:48 +00:00
szaka 16ffe6063d - remark that Longhorn uses the same NTFS 3.1 format as XP and W2K3 2005-05-10 16:44:58 +00:00
cantab.net!aia21 307659837c Major rewrite, in particular seek, read, and write related code.
(Logical change 1.698)
2005-04-22 13:52:16 +00:00
cantab.net!aia21 ac13794c54 Update with SUSE 9.3 build tools.
(Logical change 1.696)
2005-04-19 12:00:26 +00:00
elisa-laajakaista.fi!szaka e9159478ea ntfsfix: use getopt, added --help and --version, some output cleanup
(Logical change 1.679)
2005-02-19 19:34:37 +00:00
void!yura 03a03359a1 Fix memleak in ntfs_attr_update_mapping_pairs
(Logical change 1.678)
2005-02-17 18:01:56 +00:00
cantab.net!aia21 9028469456 Fix a nasty runlist merge bug when merging two holes. (Anton)
(Logical change 1.677)
2005-02-17 17:03:50 +00:00
void!yura 51a83b1699 don't check logfile for readonly mounts
(Logical change 1.673)
2005-02-01 18:26:17 +00:00
void!yura 3ca5f1fc5d integrate logfile checking with mount
(Logical change 1.672)
2005-01-30 18:13:25 +00:00
void!yura ed945d174c I realized that my previous chanset fixed one bug, but introduced new one.
This will fix both (I hope) and beautificaty function look a bit.

(Logical change 1.671)
2005-01-28 13:48:19 +00:00
void!yura 03dcb59a6b Fix rare occuring bug in ntfs_attrlist_entry_add. Read updated comment if interesting.
(Logical change 1.670)
2005-01-27 18:35:43 +00:00
void!yura 98ac77e115 ntfs_inode_attach_all_extents: don't try to attach base inode to itself and optimize algorithm a bit.
(Logical change 1.669)
2005-01-27 18:31:08 +00:00
void!yura e89f48810a Fix stupid bug trying to sync standard information for not base inode.
(Logical change 1.667)
2005-01-26 23:37:25 +00:00
void!yura 317f6f4b62 Make ntfs_logfile_reset use ntfs_empty_logfile.
(Logical change 1.666)
2005-01-25 21:41:25 +00:00
void!yura e2ed469c89 Initial revision 2005-01-25 21:41:25 +00:00
void!yura 0def64e981 (Logical change 1.666) 2005-01-25 21:41:25 +00:00
void!yura 39e6fa1339 Add logfile.c to build
(Logical change 1.665)
2005-01-25 19:46:51 +00:00
cantab.net!aia21 9fca23feb2 Fix type casts after Yura's prototype changes.
(Logical change 1.664)
2005-01-19 10:31:46 +00:00
void!yura 668403c146 fix gcc4 warnings in attrib.c
(Logical change 1.663)
2005-01-17 15:04:56 +00:00
void!yura 954c8d121e change prototypes of ntfs_write_significant_bytes and
ntfs_mapping_pairs_build to fix a lot of compiler warnings.

(Logical change 1.660)
2005-01-17 11:58:33 +00:00
void!yura 3dd3b08b07 fix compiler warning about ntfs_inode_sync_standard_information
(Logical change 1.659)
2005-01-17 11:50:36 +00:00
cantab.net!aia21 a05c3cc3e1 Update to more recent build tools.
(Logical change 1.654)
2005-01-13 09:56:56 +00:00
(none)!yura 14db887f8e Rename NTFS_SECTOR_SIZE to NTFS_BLOCK_SIZE to keep in sync with kernel driver.
(Logical change 1.653)
2005-01-11 20:28:28 +00:00
(none)!yura 81fd8478ff Fix potential bug in ntfs_inode_sync_standard_information (potential,
because standard information seems always to be in the base mft record)

(Logical change 1.652)
2004-12-23 11:27:38 +00:00
(none)!yura 59a2803283 Update standard information during inode sync.
(Logical change 1.651)
2004-12-22 18:06:07 +00:00
(none)!yura 48dee17d12 I understood that it's safe to uncomment some pieces of code.
(Logical change 1.650)
2004-12-22 16:42:46 +00:00
(none)!yura 5325a7c608 Set NIno{Compressed,Sparse,Encrypted} during ntfs_inode_open
(Logical change 1.648)
2004-12-22 16:17:07 +00:00
cantab.net!aia21 140a6d2479 Rename/move inode.[hc]::ntfs_inode_{add,rm}_attr() to
attrib.[hc]::ntfs_attr_{add,rm}(), respectively.  (Anton)

(Logical change 1.646)
2004-12-22 14:22:09 +00:00
cantab.net!aia21 db7c9da42f Move NAttr{Sparse,Compressed,Encrypted} to inode struct preserving
the previous interface.  (Yura, with fixes from Anton)

(Logical change 1.645)
2004-12-22 14:04:41 +00:00
cantab.net!aia21 003b867d71 Update build for change to configure.ac.
(Logical change 1.644)
2004-12-17 14:41:57 +00:00
cantab.net!aia21 725e19422c Patch for a better compilation under NT 4 that lacks
SetFilePointerEx and FSCTL_GET_NTFS_VOLUME_DATA.  (Christophe)

(Logical change 1.644)
2004-12-17 14:41:57 +00:00
(none)!yura 173cbd1d54 Implement attribute move out in case attribute is to small to add
compressed_size field to it and we have no free space in the current
mft record.

(Logical change 1.642)
2004-11-21 13:39:13 +00:00
(none)!yura 9c6cce1bf2 Fix bug in ntfs_inode_add_attr.
(Logical change 1.641)
2004-11-21 12:31:51 +00:00
(none)!yura 2afeb1523d Fix format string in ntfs_rl_sparse and ntfs_rl_get_compressed_size.
(Logical change 1.640)
2004-11-21 12:30:53 +00:00
(none)!yura e2ba16e3db Add @extra parameter to ntfs_attr_record_move_away. New attribute record
holder must have free @extra bytes after moving attribute record to it.

(Logical change 1.639)
2004-11-21 11:13:09 +00:00
(none)!yura a6258ef736 Rename layout.h::ATTR_RECORD::{compressed_non_,non_,}resident_attr_end
to more shorter {non_,}resident_end and compressed_end.

(Logical change 1.637)
2004-11-21 10:53:22 +00:00
(none)!yura 793120bfb6 fix ntfs_rl_sparse and ntfs_rl_get_compressed_size name in their comments
(Logical change 1.636)
2004-11-13 20:59:44 +00:00
cantab.net!aia21 cdf56dbe79 Fix bug in ntfs_rl_get_compressed_size() and optimize it a bit.
(Logical change 1.635)
2004-11-13 08:35:46 +00:00
(none)!yura 4ae8b449af Implement code that set/clean sparse bit. But I have to disable it for now
(look to the comment of the ntfs_attr_update_mapping_pairs).

(Logical change 1.634)
2004-11-12 17:32:55 +00:00
(none)!yura 339c87da38 Endians fix in ntfs_attrlist_entry_add.
(Logical change 1.633)
2004-11-12 17:10:56 +00:00
(none)!yura 38be5f3e95 New API's ntfs_runlist_sparse and ntfs_rl_get_compressed_size.
(Logical change 1.632)
2004-11-12 17:09:24 +00:00
(none)!yura 9afb493617 Comments and message fixes in ntfs_attr_update_mapping_pairs.
(Logical change 1.631)
2004-11-10 16:10:10 +00:00
(none)!yura c99889736e fix some paths of attribute instantiating code
(Logical change 1.629)
2004-11-05 21:43:48 +00:00
(none)!yura 1c283737c5 Change prototype of ntfs_cluster_alloc like in kernel driver.
(Logical change 1.628)
2004-11-05 20:02:16 +00:00
(none)!yura 93d9ed05aa - ntfs_attr_pwrite now can instantiate holes
- modify ntfs_non_resident_attr_expand to add sparse runs

(Logical change 1.627)
2004-11-05 19:53:34 +00:00
(none)!yura e7f6573732 Update outdated ENOTSUP return values.
(Logical change 1.626)
2004-11-05 14:31:00 +00:00
(none)!yura 8073aaff7d ntfs_attr_pwrite: write zeros between initializes_size and @pos if needed.
(Logical change 1.625)
2004-11-05 13:54:34 +00:00
(none)!yura 3bfc11a073 Implement writing beyond data_size in ntfs_attr_pwrite.
(Logical change 1.624)
2004-11-05 11:54:43 +00:00
(none)!yura 104b710f20 cleanup to attrib.c
(Logical change 1.623)
2004-11-04 15:52:13 +00:00
(none)!yura 8b1c81fd64 Remove check that prevent attributes in inodes with attribute list become resident from ntfs_attr_make_resident.
Bugfix and cleanups to ntfs_attr_make_resident.

(Logical change 1.622)
2004-11-04 15:39:50 +00:00
(none)!yura a90e99ff95 Fix determine of resident or not should be new attribute in ntfs_inode_add_attr.
(Logical change 1.622)
2004-11-04 15:39:50 +00:00
(none)!yura 415693011c Remove unused function ntfs_rl_merge. (Thanks to Adrian Bunk for spoting it)
(Logical change 1.621)
2004-10-30 12:47:27 +00:00
(none)!yura b47cb7aa81 remove unused code from ntfs_resident_attr_value_resize
(Logical change 1.620)
2004-10-20 17:42:20 +00:00
(none)!yura fb156edd1a fix stupid bug in ntfs_attr_truncate
(Logical change 1.619)
2004-10-18 19:35:46 +00:00
(none)!yura 7df47f7703 add proper rollback to ntfs_inode_add_attrlist
(Logical change 1.618)
2004-10-18 16:34:01 +00:00
(none)!yura 135a0559c8 replace 0 with NULL where applicable
(Logical change 1.616)
2004-10-18 10:00:09 +00:00
(none)!yura 3cb8b787bd - Remove attrlist.[ch]::ntfs_attrlist_set because it was very bad idea to separate it from ntfs_attrlist_entry_{add,rm}.
- Update ntfs_attrlist_entry_{add,rm} and ntfs_inode_add_attrlist to work without it.
- Some other fixes, improvements and cleanups.

(Logical change 1.615)
2004-10-17 15:56:39 +00:00
(none)!yura 827ed37ec3 Validate attribute type in ntfs_inode_add_attr().
(Logical change 1.614)
2004-10-17 09:50:21 +00:00
(none)!yura 1ff0764a9a make a bit more beautiful assignment in ntfs_non_resident_attr_record_add
(Logical change 1.613)
2004-10-15 11:38:45 +00:00
(none)!yura 28cdf0d524 add new api ntfs_inode_rm_attr
(Logical change 1.613)
2004-10-15 11:38:45 +00:00
(none)!yura 76cc3b3c6a improve ntfs_non_resident_attr_record_add
(Logical change 1.612)
2004-10-14 18:23:21 +00:00
(none)!yura c8e53dcdec add new high level API ntfs_inode_add_attr
(Logical change 1.612)
2004-10-14 18:23:21 +00:00
(none)!yura 1a9a051f31 fix stupid bug in ntfs_inode_free_space
(Logical change 1.611)
2004-10-13 12:01:03 +00:00
(none)!yura 01161bc99b add check that $ATTRIBUTE_LIST should be <= 0x40000 to ntfs_attr_size_bounds_check
(Logical change 1.611)
2004-10-13 12:01:03 +00:00
cantab.net!aia21 3f58b75146 Enforce minimum inode allocation 24 in ntfs_mft_bitmap_find_free_rec().
(Logical change 1.610)
2004-10-13 10:56:24 +00:00
(none)!yura 09fe1580a3 fixes and cleanup to attribute resize functions
(Logical change 1.608)
2004-10-13 09:51:05 +00:00
(none)!yura 488e4b5d30 move ntfscp from extra to standard program set
(Logical change 1.607)
2004-10-12 20:05:02 +00:00
(none)!yura 58bd93a1cd varios bug fixes (I hope the last) to attribute resize functions and cleanups
(Logical change 1.606)
2004-10-12 16:37:44 +00:00
(none)!yura 48ab100d94 fix bug in ntfs_attr_make_non_resident
(Logical change 1.605)
2004-10-11 19:19:58 +00:00