Commit Graph

239 Commits (0d264b7d2598da501aa80626d8f01f142b68f780)

Author SHA1 Message Date
(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 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 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 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 76cc3b3c6a improve ntfs_non_resident_attr_record_add
(Logical change 1.612)
2004-10-14 18:23:21 +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
(none)!yura 09fe1580a3 fixes and cleanup to attribute resize functions
(Logical change 1.608)
2004-10-13 09:51:05 +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
(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 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
(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 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
(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 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 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
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 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
(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 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 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 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
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 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 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 cbbd254b20 Export ntfs_attr_record_resize.
(Logical change 1.539)
2004-09-09 13:56:46 +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
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 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 682b8dab6b Use simpler C syntax for aligning a struct.
(Logical change 1.505)
2004-08-20 12:01:17 +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
(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
(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 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 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 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
(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
cantab.net!aia21 3423a8a909 Rename uchar_t to ntfschar.
(Logical change 1.392)
2004-05-14 13:02: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 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 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 3c69e66ff8 In attribute lookup code in libntfs/attrib.c, check type against
AT_UNUSED and not zero.

(Logical change 1.297)
2004-03-05 11:41:37 +00:00
cantab.net!aia21 b87932368a Minor update.
(Logical change 1.292)
2004-03-04 17:03:27 +00:00
cantab.net!aia21 441947337e Include config.h before any other non-ntfs headers.
(Logical change 1.279)
2004-02-20 14:44:16 +00:00
cantab.net!aia21 e14583bed7 Fix memory leek in error code path ntfs_attr_open(). Thanks to Christophe Grenier who used Valgrind to find it.
(Logical change 1.272)
2004-01-22 23:53:36 +00:00
cantab.net!aia21 2e726fff11 Add support for compressed, resident attributes.
(Logical change 1.268)
2004-01-21 12:30:18 +00:00
cantab.net!aia21 205a5db037 Fix range checking error spotted by Szaka.
(Logical change 1.265)
2004-01-19 09:09:56 +00:00
cantab.net!aia21 c9076ef627 - Apply patch from Szaka to fix all %L to %ll.
- Fix remaining %L ti %ll (compress.c).
- Run ./autogen.sh on SuSE 9.0.

(Logical change 1.263)
2004-01-15 16:57:10 +00:00
cantab.net!aia21 57041e1a94 Auto merged
2004/01/11 18:01:31+00:00 cantab.net!aia21
update comment

(Logical change 1.260)
2004-01-11 18:01:46 +00:00
cantab.net!aia21 29e697f63a Update
2004/01/08 17:13:00+00:00 cantab.net!aia21
Add reading of compressed attributes.

(Logical change 1.259)
2004-01-09 12:38:56 +00:00
cantab.net!aia21 3244f17522 Enable lots of compiler warnings and fix warning from libntfs.
(Logical change 1.257)
2004-01-07 15:03:17 +00:00
cantab.net!aia21 549393080e finish off initial implementation of ntfs_attr_make_resident().
(Logical change 1.245)
2003-12-09 17:36:00 +00:00
cantab.net!aia21 19fcf9b688 Add ntfs_attr_map_whole_runlist().
(Logical change 1.243)
2003-12-03 15:38:52 +00:00
cantab.net!aia21 33918ceae9 Fix nasty buffer overflow bug in ntfs_get_attribute_value() which we use to get
the attribute list attribute.  This is the same bug that was biting us in the
ntfs driver 2.1.4 and was fixed in 2.1.5.  Windows XP creates files where an
attribute's data size is more than one run list run shorter than the allocated
size which causes us to crash out as we assumed this would never happen.

(Logical change 1.241)
2003-11-19 12:16:02 +00:00
cantab.net!aia21 7712504582 fix signed warnings
2003/11/03 16:11:36+00:00 cantab.net!aia21
Update what is to do to finish non-resident to resident attribute conversion.

(Logical change 1.223)
2003-11-04 13:04:07 +00:00
cantab.net!aia21 3088f60dc3 Ooops. Make it compile...
(Logical change 1.221)
2003-10-29 17:42:45 +00:00
cantab.net!aia21 8f310e5bf2 Make ntfs_attr_make_non_resident() return error EPERM if
it is called for an attribute that cannot be non-resident.
Implement ntfs_attr_can_be_resident().
Start working on ntfs_attr_make_resident().

(Logical change 1.220)
2003-10-29 17:40:03 +00:00
flatcap.org!ntfs 5587fe0549 make ntfs_attr_close a bit safer
(Logical change 1.214)
2003-10-26 12:40:40 +00:00
cantab.net!aia21 67591d0256 update
(Logical change 1.209)
2003-10-17 15:43:14 +00:00
flatcap.org!ntfs d0cc759878 Updates from Szaka
(Logical change 1.191)
2003-10-09 07:56:06 +00:00
cantab.net!aia21 7af52becdd common functions moved from diks_io.h to device.h
(Logical change 1.188)
2003-10-06 11:38:25 +00:00
cantab.net!aia21 e9bce127fa Auto merged
2003/09/24 14:13:09+01:00 cantab.net!aia21
Fix a silly bug in attrib.c::ntfs_external_attr_find() which caused
us to always return the same attribute during an enumeration as soon
as the end of the attributes to be enumerated was reached thus
causing the program doing the enumeration to hang in a tight loop.
NOTE: There is still work to do as ctx->al_entry is set to NULL
instead of to the position in the attribute list at which to insert.

(Logical change 1.182)
2003-09-24 13:16:33 +00:00
flatcap.org!flatcap cd9e3ed970 comment to help folding
(Logical change 1.177)
2003-09-05 21:37:08 +00:00
cantab.net!aia21 53340e947e Two little typo fixes.
(Logical change 1.154)
2003-07-16 15:01:54 +00:00
cantab.net!aia21 f0628dd514 Hopefully finished device io abstraction layer in the library.
(Logical change 1.138)
2003-06-02 08:53:04 +00:00
cantab.net!aia21 7e14335b3f Fix attempt to release I30 constant.
(Logical change 1.127)
2003-03-14 00:48:50 +00:00
cantab.net!aia21 726999e691 More work on attribute resizing.
(Logical change 1.126)
2003-03-11 00:06:21 +00:00
cantab.net!aia21 565f90e5e6 update
(Logical change 1.125)
2003-03-07 17:31:47 +00:00
cantab.net!aia21 1247d0e2ea More work on attribute resizing...
(Logical change 1.124)
2003-02-25 18:57:15 +00:00
cantab.net!aia21 8314ab1f9d Endian fix and attribute resize code cleanup.
(Logical change 1.122)
2003-02-18 21:40:26 +00:00
cantab.net!aia21 7103d67341 ntfs_external_attr_find(): broken error detection
(Logical change 1.121)
2003-02-13 10:27:33 +00:00
flatcap.org!flatcap b6cfa71e8f whitespace tweak
(Logical change 1.105)
2003-01-19 22:01:18 +00:00
flatcap.org!flatcap f387921c31 export find_in_attrdef
(Logical change 1.93)
2003-01-13 20:05:15 +00:00
flatcap.org!flatcap 953ac4ff86 sync with Paul
(Logical change 1.82)
2003-01-09 16:30:59 +00:00
cantab.net!aia21 ea773ce760 - New API function: ntfs_attr_can_be_non_resident().
- Check whether the attribute name needs moving when resizing the
  resident part of an attribute record.
- Create internal function ntfs_attr_find_in_attrdef().

(Logical change 1.78)
2003-01-08 10:48:09 +00:00
cantab.net!aia21 08ef32703a - Clear newly allocated space in ntfs_resident_attr_value_resize().
- Rename ntfs_resident_attr_shrink() to ntfs_resident_attr_resize()
  and make it resize upwards as well as downwards.
- Change ntfs_attr_truncate() to allow resizing upwards of resident
  attributes.

(Logical change 1.75)
2002-12-30 12:23:10 +00:00
cantab.net!aia21 2dbb7c23a5 Fix erroneusly placed err = errno.
(Logical change 1.74)
2002-12-29 21:37:21 +00:00
cantab.net!aia21 36ee87eab4 Add new API ntfs_attr_size_bounds_check().
(Logical change 1.73)
2002-12-29 17:54:10 +00:00
cantab.net!aia21 7bd63f4186 Uncomment still unused label.
(Logical change 1.72)
2002-12-29 12:17:35 +00:00
cantab.net!aia21 7b2cb8211f Add test and comments for truncation of non-resident attributes to
zero size. We should be converting such an attribute to a resident
one instead of leaving a zero size non-resident attribute.

(Logical change 1.70)
2002-12-28 22:13:06 +00:00
cantab.net!aia21 722a3eb12f Fix stupid typo bug.
(Logical change 1.69)
2002-12-28 20:10:50 +00:00
cantab.net!aia21 65f89be321 Fix truncation of resident attributes (new attribute length calculation
was incorrect).

(Logical change 1.68)
2002-12-28 19:19:05 +00:00
cantab.net!aia21 cf827730eb - Only resize resident attribute records if there is a sufficiently
large change in the length of the attribute value.
- Only deallocate clusters, truncate the runlist, and regenerate the
  mapping pairs array if the change in the non-resident attribute
  value is sufficiently large.

(Logical change 1.67)
2002-12-28 12:04:07 +00:00
cantab.net!aia21 9fd4cc17e3 Do not perform the actual write on a read-only volume!
(Logical change 1.66)
2002-12-27 23:44:01 +00:00
cantab.net!aia21 eb98ae1dca Change ntfs_rl_truncate() to take address of the runlist
rather than the runlist to allow reallocation of the runlist
buffer.

(Logical change 1.61)
2002-12-27 16:48:52 +00:00
cantab.net!aia21 928eff2891 Move some run list related functions out of attrib.[hc] into runlist.[hc].
(Logical change 1.60)
2002-12-27 16:35:17 +00:00
cantab.net!aia21 42338a8bee Typo fix.
(Logical change 1.59)
2002-12-27 16:18:10 +00:00
cantab.net!aia21 c9ca9fd9b7 - lowest_vcn is cpu endian not little endian in ntfs_external_attr_find().
- Implement ntfs_non_resident_attr_shrink() for inodes without extents.

(Logical change 1.58)
2002-12-26 20:36:52 +00:00
cantab.net!aia21 9fd51dde62 New API functions (mostly still WIP):
attrib.[hc]: ntfs_resident_attr_value_resize(), ntfs_attr_truncate()
   inode.[hc]: ntfs_inode_mark_dirty(), ntfs_inode_sync()
   lcnalloc.[hc]: ntfs_cluster_{alloc,free}()
Renamed ntfs_clusters_{read,write}() to ntfs_cluster_{read,write}().

(Logical change 1.55)
2002-12-26 00:44:57 +00:00
cantab.net!aia21 471c5423f5 Return the attribute list attribute when enumerating attributes, too.
Thanks to Szakacsits Szabolcs for pointing this problem out.

(Logical change 1.48)
2002-12-18 11:22:14 +00:00
cantab.net!aia21 151fa56ec6 Don't free extent inodes in attrib.c! (Szakacsits Szabolcs)
(Logical change 1.45)
2002-12-13 15:54:44 +00:00
cantab.net!aia21 9f426c46e5 Fix bug where the call to ntfs_attr_{put,reinit}_search_ctx() would
free the extent inode attached to the search context but leave it
attached to the base inode, so this would lead to memory corruption
and worse problems. Thanks to Szakacsits Szabolcs for spotting this.
We now don't close extent inodes any more at all and just leave it
to the closing of the base inode to dispose of all the extent inodes.

(Logical change 1.42)
2002-12-13 14:44:50 +00:00
cantab.net!aia21 e1e3e56c54 Fix bug in ntfs_external_attr_find(). Spotted and fixed by Szaka.
(Logical change 1.39)
2002-12-12 15:02:11 +00:00
cantab.net!aia21 69306cc493 new api renames to ntfs_object_action
(Logical change 1.36)
2002-12-10 11:53:41 +00:00
cantab.net!aia21 9e79b61437 start of renames to ntfs_object_action() format
(Logical change 1.34)
2002-12-09 09:42:12 +00:00
cantab.net!aia21 fbfa8d138b fix warning from compiler
(Logical change 1.33)
2002-12-09 09:23:21 +00:00
cantab.net!aia21 cd61c86aa2 Auto merged
2002/12/08 20:15:41+00:00 cantab.net!aia21
rename run{ ,_,-}list to runlist

(Logical change 1.31)
2002-12-08 20:36:02 +00:00
flatcap.org!flatcap fe0c482994 A couple more void * arithmetic issues
(Logical change 1.28)
2002-12-02 01:57:17 +00:00
flatcap.org!flatcap d789fd8385 tidy whitespace
(Logical change 1.27)
2002-12-01 18:54:13 +00:00
flatcap.org!flatcap 3e1b7a9165 portability:
void * arithmetic is a GNU extension

(Logical change 1.26)
2002-12-01 18:13:20 +00:00
!flatcap c90602cacc AT_NONAME -> AT_UNNAMED
2002/07/14 17:24:58-00:00 !szaka
Remove obsolote/unused set_attribute_value()

2002/07/14 17:21:32-00:00 !szaka
Move ntfs_set_volume_flags() from attrib[ch] to volume.[ch]

2002/07/14 17:16:52-00:00 !szaka
Merge set_ntfs_volume_flags() and code from ntfsfix as a new library
function: ntfs_set_volume_flags(). Note, ntfs_set_volume_flags() is
moving to volume.[ch]

2002/07/12 08:18:15-00:00 !antona
sorry flatcap. - remove a lot of reorganization which rips the code into incomprehensible order. - all functions were and are again now placed together by logicnot by sheer randomness. - functions which call each other are placed together for example...

2002/07/11 23:44:13-00:00 !flatcap
new function headers and a few function moves

2002/07/11 16:20:33-00:00 !flatcap
whitespace and include guards

2002/07/09 19:17:49-00:00 !flatcap
move the runlist functions from attrib.c to runlist.c

2002/07/09 00:06:49-00:00 !antona
fix the cleanup...

2002/07/09 00:02:31-00:00 !antona
A little (potential) fix or better call it bug prevention and some cleanup.

2002/07/08 23:27:15-00:00 !flatcap
added AT_NONAME so we can search for a (un)named attribute or just
iterate through all attributes

2002/07/08 06:23:22-00:00 !antona
Don't use string concatenation with __FUNCTION__ as gcc-3.x don't like it.

2002/07/08 00:09:41-00:00 !antona
Implement attrib.[hc]::ntfs_rl_pwrite(). Fix a dumb bug in ntfs_attr_pwrite().

2002/07/06 20:07:59-00:00 !antona
New API for compressing run lists into mapping pairs arrays and adapt mkntfs to that API. Addition of ntfs_walk_attrs().

2002/07/05 21:15:31-00:00 !uid28698
- Enable enumeration of attributes using ntfs_lookup_attr() which is
  requested by passing a type of AT_UNUSED (or simply zero) to
  ntfs_lookup_attr(). (Based on initial patch by Szakacsits Szabolcs.)
- Fix two minor buglets in ntfs_find_external_attr() where we would
  continue the search when we detect a mismatched type and/or name
  instead of aborting and returning error EIO to flag the corruption.

2002/07/03 21:56:00-00:00 !antona
Updates

2002/07/02 23:47:10-00:00 !antona
Global replacement of __[su]{8,16,32,64} with [su]{8,16,32,64} and layout.h define it.

2002/07/01 23:43:53-00:00 !flatcap
damn, the wrong name_offset

2002/07/01 23:22:35-00:00 !flatcap
endian fix

2002/06/08 14:12:01-00:00 !antona
ntfs_readdir() has arrived.

2002/06/07 01:16:20-00:00 !antona
Updates

2002/06/05 20:32:53-00:00 !antona
Mft mirror now updated from ntfs_write_mft_record, yey! Fixup ntfstools accordingly.

2002/06/05 09:19:44-00:00 !antona
ntfs_attr_pread() fixes and finished 1st draft of ntfs_attr_pwrite().

2002/06/05 00:29:18-00:00 !antona
Make ntfs_attr_pread work with resident attributes and start on ntfs_attr_pwrite (incomplete!).

2002/06/02 23:02:20-00:00 !antona
More fixes and updates.

2002/06/01 00:41:45-00:00 !antona
huge update!

2002/04/29 12:58:34-00:00 !antona
Finish ntfs_attr_pread and ntfs_attr_mst_pread.

2002/04/29 01:53:55-00:00 !antona
Loads of stuff. Improvements, start on attr pread and attr mst_pread. Write to follow. ntfslabel cleanup and extensions. libntfs cleanups, fixes, etc.

2002/04/27 19:49:09-00:00 !antona
Update library, new APIs ntfs_attr_find_vcn(), misc fixes and cleanups, make all the utilities compile, fix bugs I noticed in ntfslabel and it now works properly.

2002/04/24 23:47:42-00:00 !antona
Hammer out the API for run list merging. Add calls for low level (using raw run lists and ATTR_RECORDs as parameters) run list merging, mappaing pairs decompression, and vcn to lcn conversion as well as high level (using ntfs_attr as parameter) calls for run list mapping and vcn to lcn conversion.

2002/04/24 19:02:07-00:00 !antona
Add new API ntfs_attr_{get,put}.

2002/04/24 01:37:37-00:00 !antona
New api call is_boot_sector_ntfs. A few folding help cleanups.

2002/04/24 00:47:56-00:00 !flatcap
the phantom asterisk eater strikes

2002/04/23 17:00:03-00:00 !flatcap
off by one error in realloc

2002/04/23 16:10:48-00:00 !flatcap
bugfix for the transplanted runlist functions
a few bits to help folding

2002/04/23 11:11:36-00:00 !flatcap
*ahem*

2002/04/22 10:34:31-00:00 !antona
Attribute list support (merging done, part 2, some stuff still incomplete). mkntfs ntfs volume creation. See the changelog...

2002/04/21 10:11:36-00:00 !antona
Fix a buglet in the library and same in ntfslabel.c

2002/04/20 23:09:42-00:00 !antona
Port attribute lookup functions with attribute list support from ntfs tng driver. Port/reimplement extent mft record handling code as well. Rename out all dollar signs from type names and constants. Adapt all callers to new API. Note mkntfs is currently broken due to some needed work.

2002/04/19 21:21:46-00:00 !antona
Remove compile time warning...

2002/04/19 21:09:55-00:00 !antona
Finished provisional inode.c::ntfs_{open,close}_inode() functions. Also, started defining API provided by attrib.[ch], so far only done search context related stuff.

2002/04/16 15:34:32-00:00 !antona
Fix the library...

2002/04/16 12:13:53-00:00 !antona
New API function mft.[ch]::read_file_record(). Also some cleanups.

2002/04/15 18:54:06-00:00 !antona
Update library for the new API.

2002/04/15 17:51:26-00:00 !antona
read/write_mft_record(s) are here

2002/04/15 00:42:07-00:00 !antona
Big rewrite of disk_io.c. Now should have stable API for low level disk access. Move all mft record related stuff from disk_io.c to mft.c.

2002/04/14 15:26:23-00:00 !antona
Remove find_first_attr and make all users use get_attr_search_ctx + find_attr instead.

2002/04/14 14:08:29-00:00 !antona
Cleanup library code. Throw away unused stuff.

2001/06/13 00:40:49-00:00 !antona
No more bugs (known) except issue with last sector not being writable when it is
an odd number.

2001/06/09 00:25:55-00:00 !antona
mkntfs delayed. more reverse engineering required to determine exact method of
index entry collation. first few helper functions are already done and entered
into ntfslib in unistr.c

2001/06/01 02:07:25-00:00 !antona
It has been a long time since last commit. At moment have done a lot of work
on mkntfs but also at the moment ntfsfix and ntfsdump_logfile and libntfs are
broken. Basically only mkntfs works and that is not complete either.

2001/04/12 22:37:21-00:00 !antona
Add a description and structure for holding attributes in memory. No code to
use it yet but it's a start. The design is geared with the ideas of making
searching for attributes and using/implementing the search context as easy as
possible, integrating the attributes into their mft_entries and maintining a
fast sync volume path.
Comments welcome.

2001/04/11 11:49:16-00:00 !antona

Header file reorganisation so that it compiles.

2001/04/08 03:02:55-00:00 !antona
Added cvs Id header.

2001/04/08 01:58:29-00:00 !antona
User space conversion of locking complete. I settled for using simple spinlocks
and atomic variables and instead of deadlocking/livelocking when using
spin_lock(), use spin_trylock() in a while letting go of the cpu between each
call and making a maximum of 100 iterations (or we return EDEADLK error code).

This is not the most efficient way, especially as can't have multiple readers
but it is the simplest way to go about things.

Should now have (almost) all required helper functions for dealing with mft
entries implemented.

Now need the file handling and then convert the whole project to use the new
code and then can finally get back to work on attribute searching...

2001/04/05 20:14:45-00:00 !antona
Commit of current state of development including locking a la kernel.
This doesn't work on user space (semaphores don't work).
Just want to have it committed. Will take out locking / modify it where
necessary to use pthreads ASAP.

2001/04/02 02:04:37-00:00 !antona
Everything compiles again! Yey! (Don't know about working though, haven't tried
it... So be careful...)
The definitely final find_{first_}attr() functions are in place. Currently
still no support for attribute lists.
The two new _RE files contain the C-fied and more or less (more less than more
actually) cleaned up functions from the ntfs driver. Once they are cleaned
up (find_attr() is already completed but I left it in the _RE files for future
reference/educational value) and modified to suit my ideas of how they should
work, which are not quite the same as the driver way, they will make it into
attrib.[ch].
If anyone gives the new code a try, I would be interested in whether it worked
or not... (-;

2001/03/15 23:13:45-00:00 !antona
Current status of library. (Still not working.)

2001/03/07 01:17:33-00:00 !antona
Renamed the unicode files and introduced more code. Finished the new
find_first/next_attr() interface functions. Next on my list are functions
supporting attribute lists...

2001/03/06 02:10:55-00:00 !antona
Allow variable length upcase table.
Progressing on find_next_attr().

2001/03/05 03:04:40-00:00 !antona
Corresponding changes to the library.

2001/03/02 15:05:53-00:00 !antona
Commit latest library state. !!!NOTE!!! This breaks everything!!! I'm in the
middle of rewritting the find_attribute stuff in attrib.c at the moment.

2001/01/30 12:55:21-00:00 !antona
Fixed the compilation issues.

2001/01/30 00:13:11-00:00 !antona
Added in the current state of attribute handling to libntfs.
Now just missing the make files to make a first public release of ntfsfix!

(Logical change 1.5)
2002-08-22 18:09:47 +00:00
!flatcap aaf8f8e036 Initial revision 2002-08-22 18:09:47 +00:00