Commit Graph

660 Commits (02bab2956c93b1a5e2021a4414b54542590ff029)

Author SHA1 Message Date
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
(none)!yura e8dcfe2deb fix stupid bugs in nammed attributes resize
(Logical change 1.604)
2004-10-11 18:34:48 +00:00
(none)!yura 324ed328f5 ntfs_attr_truncate check if newsize is equal to na->data_size and don't do anything in this case
(Logical change 1.603)
2004-10-11 16:26:16 +00:00
cantab.net!aia21 84a4fd30bf Refix the device memleak fix in error code path.
(Logical change 1.602)
2004-10-11 15:43:22 +00:00
flatcap.org!ntfs b0d1673503 Auto merged
2004/10/11 16:21:37+01:00 flatcap.org!ntfs
fix memleak on error path

(Logical change 1.601)
2004-10-11 15:25:18 +00:00
(none)!yura 419e3ce8b7 Remove inode.h::NIno{Clear,Set,}AttrListNonResident and attr_list_rl field from inode.h::_ntfs_inode struct. Adapt all users.
(Logical change 1.600)
2004-10-11 09:16:35 +00:00
(none)!yura d42a5b46f4 - update ntfs_attrlist_set
(Logical change 1.599)
2004-10-10 17:20:48 +00:00
(none)!yura 1154b815de - add ntfs_inode_free_space and ntfs_inode_attach_all_extents
- update ntfs_inode_add_attrlist to use ntfs_inode_free_space

(Logical change 1.599)
2004-10-10 17:20:48 +00:00
(none)!yura 3f9fac7647 - add ntfs_attr_record_move_away
- make ntfs_attr_update_mapping_pairs use ntfs_inode_free_space
- cleanups

(Logical change 1.599)
2004-10-10 17:20:48 +00:00
(none)!yura a5e9859b29 fix to previous patch: forgot to mark inode dirty
(Logical change 1.597)
2004-10-08 17:07:08 +00:00
(none)!yura 1b5c000662 Improve ntfs_resident_attr_resize to try make attributes non-resident
when such convert is reasonable.

(Logical change 1.596)
2004-10-08 16:50:36 +00:00
(none)!yura 100b892e5b small bugfix and cleanup
(Logical change 1.595)
2004-10-08 15:48:03 +00:00
(none)!yura 94a479e005 one more fix
(Logical change 1.594)
2004-10-07 16:46:16 +00:00
(none)!yura 59407ac0ff fix some stupid bugs
(Logical change 1.593)
2004-10-07 16:40:29 +00:00
(none)!yura d4d69304ff - Add new API ntfs_attr_record_move_to and make ntfs_resident_attr_resize use it.
- Cleanups.

(Logical change 1.592)
2004-10-07 14:04:09 +00:00
(none)!yura a4d40d673a fix to my previous fix
(Logical change 1.591)
2004-10-01 17:04:45 +00:00
cantab.net!aia21 b81e3f8959 Fix stupid typo where I had >> vol->cluster_size instead of
>> vol->cluster_size_bits.

(Logical change 1.590)
2004-10-01 13:56:42 +00:00
(none)!yura b89f1ee8f6 - Mapping pairs offset fixes.
- Indent fixes.
- ntfs_non_resident_attr_expand: fix some error code paths.

(Logical change 1.589)
2004-10-01 12:26:44 +00:00
cantab.net!aia21 8b3c03e173 Rename scpu_to_le{16,32,64}() to cpu_to_sle{16,32,64}() to match the kernel.
(Logical change 1.586)
2004-09-30 15:00:31 +00:00
(none)!yura 59ab6cdb33 Use ntfs_attr_reinit_search_ctx instead ntfs_attr_init_search_ctx, because Anton fixed bug prevent us doing so.
(Logical change 1.585)
2004-09-29 15:52:46 +00:00
(none)!yura 21613e7190 ntfs_mapping_pairs_build:
- Make it set stop vcn even function doesn't failed.
- Minor bugfix.

(Logical change 1.584)
2004-09-29 15:43:22 +00:00
(none)!yura bb9c8afe60 Auto merged
2004/09/29 18:35:00+03:00 (none)!yura
SCCS merged

2004/09/29 18:16:34+03:00 (none)!yura
- Deallocate clusters when free atribute list.
- Write ntfs_attr_update_mapping_pairs and make ntfs_non_resident_attr_{shrink,expand} use it.

(Logical change 1.584)
2004-09-29 15:43:22 +00:00
cantab.net!aia21 75c1ed8b5d Always clear ctx->al_entry in ntfs_attr_reinit_search_ctx().
(Logical change 1.583)
2004-09-29 14:45:16 +00:00
elisa-laajakaista.fi!szaka 82efae551e - suppress bogus gcc warning about uninitialized 'err' variable
(Logical change 1.581)
2004-09-28 18:33:40 +00:00
elisa-laajakaista.fi!szaka f9ac10a85e - fix err <-> errno typo that could cause bogus return value
(Logical change 1.581)
2004-09-28 18:33:40 +00:00
(none)!yura b2f2facc29 Make ntfs_attr_record_rm use ntfs_attrlist_need and delete attribute list if it is doesn't need.
(Logical change 1.580)
2004-09-26 19:31:31 +00:00
(none)!yura a373b59fd3 Add new API: ntfs_attrlist_need.
(Logical change 1.580)
2004-09-26 19:31:31 +00:00
(none)!yura 64bd37518d - New API: inode.[ch]::ntfs_inode_add_attrlist.
(Logical change 1.579)
2004-09-25 20:10:16 +00:00
(none)!yura 7428b93f99 - New API: attrib.[ch]::ntfs_resident_attr_record_add.
- Update ntfs_non_resident_attr_expand to use ntfs_inode_add_attrlist.
- Fixes and cleanups.

(Logical change 1.579)
2004-09-25 20:10:16 +00:00
(none)!yura 0f462c337c - Move out common part of ntfs_attrlist_entry_{add,rm} to new API:
attrlist.[ch]::ntfs_attrlist_set.
- Fixes and cleanups.

(Logical change 1.579)
2004-09-25 20:10:16 +00:00
(none)!yura bff0f300ff fixes for attribute list handling
(Logical change 1.578)
2004-09-22 19:22:40 +00:00
cantab.net!aia21 acff9f4c43 Minor updates ntfs_external_attr_find().
(Logical change 1.577)
2004-09-21 14:25:12 +00:00
(none)!yura 92f4878951 - not update initialized size in ntfs_non_resident_attr_expand
- fix compiler warnings

(Logical change 1.575)
2004-09-20 17:29:50 +00:00
(none)!yura 7443484bdc - fix compiler warnings
(Logical change 1.575)
2004-09-20 17:29:50 +00:00
cantab.net!aia21 2bf52eb259 Fix warnings and endianness conversion errors.
(Logical change 1.574)
2004-09-20 15:32:41 +00:00
cantab.net!aia21 47cc459e5b Fix typo.
(Logical change 1.573)
2004-09-20 15:27:55 +00:00
cantab.net!aia21 5356fc247d - Only write out dirty attribute list if such is present.
- Use TestAndClearDirty and SetDirty on error for concurency fix.

(Logical change 1.573)
2004-09-20 15:27:55 +00:00
cantab.net!aia21 b83b08ec73 Clear attribute list dirty when clearing attr list presence.
(Logical change 1.572)
2004-09-20 15:14:07 +00:00
cantab.net!aia21 76fd9217b7 Remove clearing of directory flag. It is zero.
(Logical change 1.571)
2004-09-20 14:57:26 +00:00
cantab.net!aia21 9f2f8ad317 - Make ntfs_attr_open() make a copy of the attribute name unless it is
one of the internal names.  (Anton)

(Logical change 1.570)
2004-09-20 14:46:38 +00:00
cantab.net!aia21 a70e770622 - Add new API unistr.[hc]::ntfs_ucsndup(). (Anton)
(Logical change 1.570)
2004-09-20 14:46:38 +00:00
(none)!yura f725bfae32 Attribute handling functions always update highest_vcn, if it was modified.
(Logical change 1.569)
2004-09-20 11:31:28 +00:00
(none)!yura 3aa1acaa90 Small update
(Logical change 1.568)
2004-09-19 19:30:37 +00:00
(none)!yura 332be40f05 remove trainling spaces
(Logical change 1.567)
2004-09-19 18:59:25 +00:00
(none)!yura 3c5e052974 Fix highest_vcn updating for ATTRIBUTE_LIST and small endian fix.
(Logical change 1.567)
2004-09-19 18:59:25 +00:00
(none)!yura c30049a41e - more debug output
(Logical change 1.566)
2004-09-19 14:39:47 +00:00
(none)!yura 3337c4f57f - implement ntfs_attrlist_entry_rm
(Logical change 1.566)
2004-09-19 14:39:47 +00:00
(none)!yura 02bda1c69a - add ntfs_attr_record_rm
- add rollback to ntfs_non_resident_attr_expand

(Logical change 1.566)
2004-09-19 14:39:47 +00:00
(none)!yura 8d7e4f3847 some fixes
(Logical change 1.565)
2004-09-18 16:40:46 +00:00
(none)!yura 9be64ab8c7 fix name copying in ntfs_attrlist_entry_add()
(Logical change 1.564)
2004-09-17 17:32:25 +00:00
(none)!yura 921a40e14b rename: ntfs_not_resident_attr_record_add -> ntfs_non_resident_attr_record_add
ntfs_non_resident_attr_record_add:
 - add cheking for attribute can be non-resident
 - fixed bug: forgot copy name to attribute

(Logical change 1.563)
2004-09-17 16:34:45 +00:00
(none)!yura 70bdd48d07 SCCS merged
2004/09/17 19:05:41+03:00 (none)!yura
- port ntfs_make_room_for_attr from mkntfs
- add new API: ntfs_not_resident_attr_record_add
- make ntfs_not_resident_attr_expand allocate new extent records
(warning: there is no rollback at present, old is obsolete, so I removed it.
I will write new rollback as soon as possible)

(Logical change 1.562)
2004-09-17 16:07:04 +00:00
(none)!yura 5a428e00fc - remove mref from ntfs_attrlist_entry_add prototype and adapt code
- fix stupid bug with unmapped runlist in ntfs_attrlist_entry_add
- one stupid bug in ntfs_attrlist_entry_add: vcn is 64bit long

(Logical change 1.562)
2004-09-17 16:07:04 +00:00
cantab.net!aia21 07b1e1a361 Add check for new attribute size being large enough
to store the attribute length in ntfs_attr_rec_resize().

(Logical change 1.561)
2004-09-16 22:43:10 +00:00
cantab.net!aia21 307c09774e Fix bugs in handling of ->extent_nis in base inodes.
(Logical change 1.559)
2004-09-16 10:10:20 +00:00
cantab.net!aia21 2b745a3542 Write out dirty extent inodes in ntfs_inode_close() when closing a base
inode.

(Logical change 1.557)
2004-09-16 09:29:58 +00:00
cantab.net!aia21 ba4192c33c Final fixes for ntfs_mft_record_alloc() that fell out from extensive testing.
(Logical change 1.556)
2004-09-16 08:19:32 +00:00
cantab.net!aia21 93f8096673 Need to sync inodes before closing attributes or the umount fails.
(Logical change 1.555)
2004-09-16 08:18:52 +00:00
cantab.net!aia21 9656a23b5e Finish off ntfs_mft_record_alloc() and its error handling.
(Logical change 1.554)
2004-09-15 15:21:47 +00:00
cantab.net!aia21 caf2f0ad97 More code refactoring in ntfs_mft_record_alloc() together with more error
recovery code.

(Logical change 1.553)
2004-09-15 12:49:52 +00:00
cantab.net!aia21 0de81b2f41 More work on ntfs_mft_record_alloc(): Factor out some code, start with
some error handling and a bug fix here or there...

(Logical change 1.552)
2004-09-14 13:01:33 +00:00
cantab.net!aia21 8fdb6981ff First cut of ntfs_mft_record_alloc() ported from my old ntfs allocator that
I wrote several years ago.  Note this is completely untested and there is
no error handling at all yet.  I will be porting/adding the error handling
next.  (Anton)

(Logical change 1.551)
2004-09-13 14:44:01 +00:00
cantab.net!aia21 ad7acfacc2 Remove no longer needed forward declaration.
(Logical change 1.550)
2004-09-13 14:39:50 +00:00
cantab.net!aia21 b82469ba50 Remove vol->nr_mft_records and update all users. (Anton)
(Logical change 1.549)
2004-09-13 10:28:54 +00:00
cantab.net!aia21 1159ab3656 Cleanup the ntfs_mapping_pairs_build enhancement.
(Logical change 1.548)
2004-09-13 09:31:42 +00:00
(none)!yura 27e0e7a0c7 Add @stopped_at parameter to ntfs_mapping_pairs_build and adapt all callers.
(Logical change 1.547)
2004-09-12 18:46:04 +00:00
(none)!yura 64e1f672cf ntfs_inode_sync: write dirty attribute list to disk
(Logical change 1.546)
2004-09-12 11:00:06 +00:00
(none)!yura 0819f47293 new API: ntfs_attrlist_entry_add - add an attribute list attribute entry
(Logical change 1.546)
2004-09-12 11:00:06 +00:00
(none)!yura a7b9eefee8 fixes for attribute list
(Logical change 1.545)
2004-09-11 16:23:34 +00:00
cantab.net!aia21 8ab5e7daf5 Fix a potential memory leak (in error code path of
ntfs_non_resident_attr_expand()).

(Logical change 1.544)
2004-09-10 13:55:47 +00:00
(none)!yura b46a0cd23d Improvement to ntfs_non_resident_attr_expand: expand multi extent
attributes if we don't need to allocate new mft records to perform
this.

(Logical change 1.543)
2004-09-09 17:21:40 +00:00
cantab.net!aia21 a085e4b501 Update build to SuSE 9.2 beta 1 tools (autoconf,automake,libtool,...).
(Logical change 1.540)
2004-09-09 13:57:31 +00:00
cantab.net!aia21 e1249adc6c Fix typo.
(Logical change 1.539)
2004-09-09 13:56:46 +00:00
cantab.net!aia21 cbbd254b20 Export ntfs_attr_record_resize.
(Logical change 1.539)
2004-09-09 13:56:46 +00:00
cantab.net!aia21 7deafa1bcb Fix all warnings generated by --enable-warnings switch to configure.
(Logical change 1.538)
2004-09-09 07:54:06 +00:00
cantab.net!aia21 d6fc63d0b1 Add ntfs_debug() and ntfs_error() to make kernel<->userspace porting easier.
(Logical change 1.538)
2004-09-09 07:54:06 +00:00
cantab.net!aia21 27a017de70 Update library version for source/binary incompatible API changes.
(Logical change 1.534)
2004-09-06 09:44:16 +00:00
cantab.net!aia21 06086ae5c7 Add start_vcn parameter to ntfs_get_size_for_mapping_pairs() and
ntfs_mapping_pairs_build() and adapt all callers.

(Logical change 1.533)
2004-09-06 09:27:16 +00:00
!uv da308fb631 Inline macros that are only used once.
(Logical change 1.524)
2004-09-03 13:36:27 +00:00
!uv 76236c5916 Fix a segfault that crept in to win32_io.c due to being too rush.
(Logical change 1.523)
2004-09-03 12:42:03 +00:00
!uv afa5afcb06 Rewrite in order to overcome the following limitations:
ReadFile/WriteFile/SetPointer require aligned inputs (sector/memort wise)
A volume does not have to cover the entire partition.
While a volume is locked, its contents are not accessible via the disk handle.

(Logical change 1.522)
2004-09-03 12:09:09 +00:00
cantab.net!aia21 434d799fc9 Bump libntfs version number.
(Logical change 1.521)
2004-09-03 09:42:22 +00:00
cantab.net!aia21 453d87b43f Update for 1.9.3 release.
(Logical change 1.520)
2004-09-03 09:30:16 +00:00
cantab.net!aia21 82b45caa4b Change ntfs_get_size_for_mapping_pairs() and ntfs_mapping_pairs_build()
to treat a NULL runlist to mean empty runlist.  (Anton)

(Logical change 1.519)
2004-08-31 15:37:05 +00:00
cantab.net!aia21 128d9a1001 Auto merged
2004/08/31 16:12:21+01:00 cantab.net!aia21
- Change ntfs_attr_make_non_resident() to only allocate clusters and attempt
  to write out data if the attribute size is not zero.  (Anton)
- Fix ntfs_non_resident_attr_expand() to use ntfs_attr_map_whole_runlist()
  instead of ntfs_attr_map_runlist().  (Anton)

(Logical change 1.519)
2004-08-31 15:37:05 +00:00
cantab.net!aia21 fcdb401959 Exclude
(Logical change 1.518)
2004-08-31 15:33:48 +00:00
(none)!yura cd3f2379db improvement to ntfs_non_resident_attr_expand:
expand multi extent attributes if we don't need to allocate new mft records to perform this.

(Logical change 1.517)
2004-08-31 14:05:19 +00:00
cantab.net!aia21 6fb1ec5e6b Fix memory leak. (Christophe Grenier)
(Logical change 1.515)
2004-08-28 21:26:52 +00:00
cantab.net!aia21 627bd9686f Reapply changes that apparently got lost in Yuval's merge.
(Logical change 1.510)
2004-08-20 15:16:21 +00:00
cantab.net!aia21 4341f051c4 Revert a change from Yuval where a bitfield was converted to a char.
(Logical change 1.509)
2004-08-20 14:49:42 +00:00
!uv c8dd770817 Warning fixes: change of variable type and no need to inline.
(Logical change 1.508)
2004-08-20 12:30:34 +00:00
!uv ae80043076 printf format fix.
Reformattion a recent debug output change into a common style.

(Logical change 1.507)
2004-08-20 12:18:22 +00:00
!uv 0106f54ff0 printf format fix.
(Logical change 1.507)
2004-08-20 12:18:22 +00:00
!uv 86323fac66 Comment #includes by configure's #ifdef HAVE_*
(Logical change 1.506)
2004-08-20 12:04:47 +00:00
!uv 682b8dab6b Use simpler C syntax for aligning a struct.
(Logical change 1.505)
2004-08-20 12:01:17 +00:00
!uv 97df123793 Reorder struct members in order to align to 32 and 64 bit bounderies.
(Logical change 1.505)
2004-08-20 12:01:17 +00:00
!uv b15ad70b99 When <mntent.h> does not exist, some parameters may not be used.
(Logical change 1.504)
2004-08-20 11:58:24 +00:00
cantab.net!aia21 39b62e050e Move Sprintf,Dputs,Dprintf,Dperror to be defines and call proper
non-inlined functions which are now in debug.c.

(Logical change 1.503)
2004-08-19 21:01:11 +00:00
cantab.net!aia21 d33e7eaae4 Fix fallout from previous error output changes.
(Logical change 1.503)
2004-08-19 21:01:11 +00:00
cantab.net!aia21 930e056c02 Use Sprintf instead of doing it by hand.
(Logical change 1.502)
2004-08-18 10:27:49 +00:00
cantab.net!aia21 380f4f1ce1 Silence compiler warnings.
(Logical change 1.502)
2004-08-18 10:27:49 +00:00
cantab.net!aia21 4910ed561c Change all output to only appear if configure with --enable-debug by
using Dputs/Dprintf instead of fprintf(stderr,.

(Logical change 1.502)
2004-08-18 10:27:49 +00:00
cantab.net!aia21 183985792c Only need two spare runlist elements when realocating memory,
not three since we no longer add a starting element.

(Logical change 1.501)
2004-08-17 21:07:00 +00:00
cantab.net!aia21 129a7f0399 Fix ntfs_cluster_alloc() to use LCN_RL_NOT_MAPPED rather
than LCN_ENOENT as runlist terminator.
Also, make it not create a LCN_RL_NOT_MAPPED element at
the beginning.

(Logical change 1.500)
2004-08-17 20:45:18 +00:00
cantab.net!aia21 24d811c682 Fix some bugs in error recovery code path (runlist unterminated and one bit was not recovered).
(Logical change 1.498)
2004-08-15 21:04:22 +00:00
flatcap.org!ntfs a61808707f minor build fix
(Logical change 1.494)
2004-08-12 13:33:25 +00:00
cantab.net!aia21 aa85d7a8b1 The long waited device-level write support on
windows.  (Yuval)

(Logical change 1.491)
2004-08-12 08:21:50 +00:00
cantab.net!aia21 98b3b601cf Use the NDev* macros in win32_io.c too. (Yuval)
(Logical change 1.489)
2004-08-12 08:08:25 +00:00
cantab.net!aia21 1fd33a1326 Change the win32_open function to open volumes
instead of partitions when possible, and use the windows volume
locking/dismounting mechanism on R/W open to prevent data corruption. (Yuval)

(Logical change 1.488)
2004-08-12 08:06:25 +00:00
cantab.net!aia21 5038a7e1b9 Fix debug output issues in win32_io.c (Yuval)
(Logical change 1.487)
2004-08-12 07:58:38 +00:00
flatcap.org!ntfs 1be6deedaf deltaxcn will only go as high as (max_cluster-1) so the comparisons below were off by one
(Logical change 1.485)
2004-08-10 10:45:07 +00:00
cantab.net!aia21 c6d73395e4 Refix the fix to the fix in runlist.c highest_vcn == 0 handling.
(Logical change 1.483)
2004-08-09 13:31:10 +00:00
cantab.net!aia21 01e060874b ntfs_mapping_pairs_decompress for highest_vcn == 0.
(Logical change 1.479)
2004-08-05 21:28:14 +00:00
(none)!yura d3178859aa bugfix for ntfs_mapping_pairs_decompress for highest_vcn == 0
(Logical change 1.478)
2004-08-05 19:35:51 +00:00
(none)!yura a40f1c30b6 * bugfix ntfs_attr_truncate: determine what we need to do with attribute (expand or shrink) from
na->data_size not from na->initialized_size
* revert code and comment update about highest in ntfs_non_resident_attr_{shrink,expand}, because
  I fixed that bug

(Logical change 1.478)
2004-08-05 19:35:51 +00:00
(none)!yura 9be1951a31 Restructure of error handling in ntfs_non_resident_attr_expand
Comments update

(Logical change 1.477)
2004-08-05 18:41:19 +00:00
(none)!yura d99c39d980 fixing bugs in ntfs_non_resident_attr_{shrink,expand} that caused not updating highest_vcn,
if it was equal to 0

(Logical change 1.476)
2004-08-05 13:20:11 +00:00
cantab.net!aia21 5ece0477c8 Fix a bug in the cluster allocator.
Also several debug output bugs.

(Logical change 1.475)
2004-08-05 10:15:54 +00:00
(none)!yura b2b13a1856 attrib.c::ntfs_non_resident_attr_expand
added code to restore mft record, if we failed build mapping pairs

(Logical change 1.474)
2004-08-05 09:32:27 +00:00
cantab.net!aia21 bde8048cac Fix error code paths in ntfs_non_resident_attr_expand() and also
fix starting lcn determination and set it to -1 if
there are no valid lcns in the attribute, i.e. let the
allocator choose in this case.

(Logical change 1.473)
2004-08-04 20:35:58 +00:00
cantab.net!aia21 c1427ce9c9 Move variable declaration to top of statement block.
(Logical change 1.472)
2004-08-04 19:17:50 +00:00
(none)!yura bb8ee06cad small updates
(Logical change 1.471)
2004-08-04 09:47:41 +00:00
(none)!yura 0c92486d08 make ntfs_cluster_free not fail if ntfs_attr_find_vcn returned ENOENT
(Logical change 1.470)
2004-08-03 17:53:48 +00:00
(none)!yura 73c333a681 bugfix in ntfs_attr_map{_whole_,_}runlist: make it not fail if runlist already mapped
(Logical change 1.470)
2004-08-03 17:53:48 +00:00
(none)!yura ad91c15528 various updates and fixes
(Logical change 1.468)
2004-08-02 16:56:34 +00:00
(none)!yura 910855a174 * bugfix for ntfs_cluster_alloc when @count = 0.
* add ntfs_clster_free_from_rl and make ntfs_cluster_alloc use it

(Logical change 1.468)
2004-08-02 16:56:34 +00:00
(none)!yura 03f1839241 add ntfscp to build
(Logical change 1.467)
2004-08-02 12:05:21 +00:00
(none)!yura 70bfea1080 Add new function attrib.c::ntfs_non_resident_attr_expand, thus we can expand non resident attributes
(Logical change 1.466)
2004-08-01 11:05:46 +00:00
(none)!yura 50b9026628 Add a @start_vcn parameter to lcnalloc.[ch]::ntfs_cluster_alloc
(Logical change 1.466)
2004-08-01 11:05:46 +00:00
(none)!yura d2fd32b481 Fix bug in ntfs_attr_size_bounds_check that caused it always fail if no maximum limit for attribute size
(Logical change 1.465)
2004-07-30 13:00:24 +00:00
cantab.net!aia21 faa7f82c0c Remove 2 unused functions.
(Logical change 1.462)
2004-07-15 09:43:09 +00:00
cantab.net!aia21 d3007d5542 Add nice comments to functions.
(Logical change 1.461)
2004-07-15 09:41:47 +00:00
cantab.net!aia21 2604474716 Implement ntfs_device_win32_stat().
(Logical change 1.460)
2004-07-15 09:40:34 +00:00
cantab.net!aia21 40d7371812 Implement ntfs_device_win32_sync().
(Logical change 1.459)
2004-07-15 09:37:03 +00:00
cantab.net!aia21 0dfe86e663 Re-factor the existing ntfs_device_win32_open().
(Logical change 1.458)
2004-07-15 09:35:10 +00:00
cantab.net!aia21 3b3ac7b234 Implement ntfs_device_win32_ioctl().
(Logical change 1.457)
2004-07-15 09:29:13 +00:00
cantab.net!aia21 a93c3f9549 Include debug.h and remove duplicated code. (Yuval)
(Logical change 1.455)
2004-07-13 15:05:15 +00:00
cantab.net!aia21 ae0653cc18 Include attrib.h before debug.h as debug.h no longer includes attrib.h. (Yuval)
(Logical change 1.455)
2004-07-13 15:05:15 +00:00
(none)!yura 9576429f7f ntfs_rl_p{read,write}: "* vol->cluster_size" replaced with faster and more compatible "<< vol->cluster_size_bits"
(Logical change 1.448)
2004-07-08 20:19:52 +00:00
(none)!yura 5d43e167d5 Fixed bug that cause ntfs_attr_p{read,write} fail on resident encrypted attribute
(Logical change 1.448)
2004-07-08 20:19:52 +00:00
(none)!yura b8c2ec25b6 fix comment
(Logical change 1.446)
2004-07-06 19:53:05 +00:00
cantab.net!aia21 66c60d9659 Fix Yura's fix.
(Logical change 1.430)
2004-06-21 09:51:07 +00:00
flatcap.org!ntfs b429c1fc69 bugfix for ntfs_rl_pread,pwrite for pos > 0
(Logical change 1.428)
2004-06-20 16:47:19 +00:00
flatcap.org!ntfs c05355e711 alloc freeing of a null inode
(Logical change 1.400)
2004-05-26 07:41:00 +00:00
cantab.net!aia21 a6cd1084c3 Do not use the ++ operator on a variable when it is being passed as a
parameter to a macro in libntfs/unistr.c.  (Pete Curran, Yuval)

(Logical change 1.393)
2004-05-21 21:21:38 +00:00
cantab.net!aia21 3423a8a909 Rename uchar_t to ntfschar.
(Logical change 1.392)
2004-05-14 13:02:33 +00:00
cantab.net!aia21 9ae1b7306a Fix access of MFT_RECORD->bytes_in_use to use le32_to_cpu() instead
of le16_to_cpu() in libntfs/volume.c.  (Pete Curran)

(Logical change 1.391)
2004-05-14 08:07:19 +00:00
cantab.net!aia21 da742f48da - Fix a bug where we would not always detect that we have reached the
end of a compression block because we were ending at minus one byte
  which is effectively the same as being at the end.  The fix is to
  check whether the uncompressed buffer has been fully filled and if so
  we assume we have reached the end of the compression block.  A big
  thank you to Marcin Gibuła for the bug report, the assistance in
  tracking down the bug and testing the fix.
- Fix a bug where we forgot to reset the data_size and initialized_size
  in two error code paths.
- Fix a bug where an uncompressed block could be misdetected as a
  compressed one if it was made up of multiple runs.

(Logical change 1.390)
2004-05-11 09:21:24 +00:00
cantab.net!aia21 653cfec1ca Add SetFilePointerEx() emulation. (Lode)
(Logical change 1.385)
2004-04-28 08:06:17 +00:00
cantab.net!aia21 03a99a7ece Work around mbstowcs() bug in DJGPP and update workaround for bug in
mbsrtowcs() on Cygwin.  (Lode, Christophe, Anton)

(Logical change 1.384)
2004-04-27 12:48:14 +00:00
cantab.net!aia21 14449e4e00 - Fix silly bug where j is used to store the error code
but i is later expected to be storing it.  (Yuval)
- Fix some warnings.  (Yuval, me)

(Logical change 1.380)
2004-04-23 10:54:57 +00:00
cantab.net!aia21 cd0bb098d9 Fix silly typo/bug.
(Logical change 1.369)
2004-04-15 11:55:46 +00:00
cantab.net!aia21 8d9353c062 Add ntfs_sid_to_mbs_size() and ntfs_sid_to_mbs().
(Logical change 1.368)
2004-04-15 11:10:40 +00:00
cantab.net!aia21 56fd4cd70d Yuval:
A few compiler warnings I found using 'configure -enable-warnings'
Mostly trivial.
- 'char *' changed to 'const char *'
- prototypes
- unsigned/signed comparison
- duplicate extern declerations

(Logical change 1.361)
2004-04-09 12:55:19 +00:00
cantab.net!aia21 78922e89fa Update to automake 1.8.3.
(Logical change 1.349)
2004-03-26 14:50:33 +00:00
cantab.net!aia21 a8c7b62ffc Fix some compiler warnings.
(Logical change 1.348)
2004-03-26 14:42:21 +00:00
cantab.net!aia21 3cc9f21016 Update comments.
(Logical change 1.346)
2004-03-24 17:38:31 +00:00
cantab.net!aia21 3e63b65e23 Add placeholder for ntfs_attrlist_entry_rm(). -- Not implemented yet.
(Logical change 1.345)
2004-03-24 10:36:31 +00:00
cantab.net!aia21 559786d6c9 - Add new API ntfs_device_heads_get() and
ntfs_device_sectors_per_track_get().

(Logical change 1.345)
2004-03-24 10:36:31 +00:00
cantab.net!aia21 b1f8254930 Remove the FIXME in ntfs_attr_lookup() and complete the
implementation of ntfs_external_attr_find() so it now returns the
attribute list attribute position at which the attribute should be
inserted in @ctx->al_entry (see descritpion for ntfs_attr_lookup() in
attrib.c for details).

(Logical change 1.343)
2004-03-22 10:42:38 +00:00
cantab.net!aia21 1500287b1c Update
(Logical change 1.340)
2004-03-19 17:36:45 +00:00
cantab.net!aia21 6507533a0a (Logical change 1.340) 2004-03-19 17:36:45 +00:00
cantab.net!aia21 1c970228e2 Initial revision 2004-03-19 17:36:45 +00:00
cantab.net!aia21 592b4662db Add attrlist.c to build.
(Logical change 1.340)
2004-03-19 17:36:45 +00:00
cantab.net!aia21 ae7789dcd0 Support the case where $Volume does not have a $VOLUME_NAME
attribute in ntfs_device_mount() and let ntfslabel create the
attribute when it is not present.

(Logical change 1.339)
2004-03-19 10:21:05 +00:00
cantab.net!aia21 93acd345a7 Update
(Logical change 1.338)
2004-03-17 16:53:29 +00:00
cantab.net!aia21 117c16ec74 Fix a compiler warning.
(Logical change 1.336)
2004-03-17 12:22:03 +00:00
cantab.net!aia21 9318887cd5 Add new API device.[hc]::ntfs_device_partition_start_sector_get() and
make mkntfs use it.

(Logical change 1.336)
2004-03-17 12:22:03 +00:00
cantab.net!aia21 2bd298bc2d Add new API mft.[hc]::ntfs_mft_record_{layout,format}() and make
mkntfs use it.

(Logical change 1.335)
2004-03-15 12:50:18 +00:00
cantab.net!aia21 481241602c Change ntfs_get_attribute_value syntax to not have the MFT_RECORD as it
wasn't used anyway and the function is headed for death anyway...

(Logical change 1.332)
2004-03-15 10:54:47 +00:00
cantab.net!aia21 802ed33475 New file: security.c includes new API ntfs_guid_is_zero() and
ntfs_guid_to_mbs().

2004/03/14 17:38:29+00:00 cantab.net!aia21

(Logical change 1.330)
2004-03-14 18:04:17 +00:00
cantab.net!aia21 84db0e8dfb Initial revision 2004-03-14 18:04:17 +00:00
cantab.net!aia21 a8f5ab126d Add security.c to build.
(Logical change 1.330)
2004-03-14 18:04:17 +00:00
cantab.net!aia21 3cfb4590eb Provide new API functions: ntfs_bitmap_{set,clear}_bit().
(Logical change 1.327)
2004-03-12 17:25:04 +00:00
cantab.net!aia21 cb3b41894a Modify meaning of ntfs_volume->nr_mft_records to be the number of
initialized mft records, not total mft records.  This makes far more
sense and in fact reflects how nr_mft_records is being used in both
libntfs and the utilities.

(Logical change 1.326)
2004-03-12 15:50:52 +00:00
cantab.net!aia21 9b3652469c Update with SuSE 9.1 beta 1 versions of GNU build system.
(Logical change 1.322)
2004-03-11 15:33:34 +00:00
cantab.net!aia21 3c429be664 Typo fixes (Ender)
(Logical change 1.317)
2004-03-10 22:03:54 +00:00
cantab.net!aia21 43d2c583cc Auto merged
2004/03/09 14:38:49+00:00 cantab.net!aia21
Fix all occurences of printf with %ll length modifiers but 64 bit
arguments to typecast the arguments to (unsigned) long long to avoid
the warnings when compiling on 64 bit architectures.

(Logical change 1.306)
2004-03-09 14:47:34 +00:00
cantab.net!aia21 f5bb3c333f Make the device fd in unix_io.c be stored in malloc()ed space pointed
to by the d_private pointer instead of inside the d_private pointer
itself.  Makes the warnings on 64 bit architectures go away.

(Logical change 1.304)
2004-03-09 11:06:54 +00:00
cantab.net!aia21 402df7a21e Auto merged
2004/02/20 14:44:47+00:00 cantab.net!aia21
Auto merged

2004/01/15 16:58:19+00:00 cantab.net!aia21
Auto merged

2004/01/07 15:48:41+00:00 cantab.net!aia21
Auto merged

2004/01/05 12:39:36+00:00 cantab.net!aia21
Auto merged

2003/12/05 18:09:00+00:00 cantab.net!aia21
Auto merged

2003/12/03 12:41:54+00:00 cantab.net!aia21
Auto merged

2003/11/04 13:06:21+00:00 cantab.net!aia21
Auto merged

2003/10/28 15:55:31+00:00 flatcap.org!ntfs
a few tweaks to help folding

(Logical change 1.299)
2004-03-06 17:42:28 +00:00
cantab.net!aia21 1564a5b72e Auto merged
2004/01/15 16:58:19+00:00 cantab.net!aia21
Auto merged

2004/01/07 15:48:41+00:00 cantab.net!aia21
Auto merged

2003/11/04 13:06:21+00:00 cantab.net!aia21
Auto merged

2003/10/28 15:55:31+00:00 flatcap.org!ntfs
move comment to help folding

(Logical change 1.299)
2004-03-06 17:42:28 +00:00
cantab.net!aia21 001054baa9 Auto merged
2004/01/15 16:58:19+00:00 cantab.net!aia21
Auto merged

2003/10/28 15:55:31+00:00 flatcap.org!ntfs
typo

(Logical change 1.299)
2004-03-06 17:42:28 +00:00