Commit Graph

660 Commits (02bab2956c93b1a5e2021a4414b54542590ff029)

Author SHA1 Message Date
(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
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 607036db7d Rename private to priv_data in ntfs_device_alloc() to avoid name
space clashes with C++.  (Yuval Fledel, modified fix by me)

(Logical change 1.295)
2004-03-05 11:23:42 +00:00
cantab.net!aia21 a2e4ff7cb6 Rename INCLUDES to AM_CPPFLAGS.
(Logical change 1.294)
2004-03-05 11:04:40 +00:00
cantab.net!aia21 b87932368a Minor update.
(Logical change 1.292)
2004-03-04 17:03:27 +00:00
cantab.net!aia21 3f12891c07 Remove compiler warning by rearranging code a bit in ntfs_mount().
(Logical change 1.287)
2004-02-27 16:44:10 +00:00
cantab.net!aia21 7239c1f42b Adapt BLKGETSIZE64 definition to the one found in 2.6 kernels.
(Logical change 1.287)
2004-02-27 16:44:10 +00:00
cantab.net!aia21 4b12f1bfce Add NO_NTFS_DEVICE_DEFAULT_IO_OPS.
(Logical change 1.283)
2004-02-26 11:41:48 +00:00
cantab.net!aia21 1f2547829c Update for move of include files.
(Logical change 1.280)
2004-02-25 14:21:14 +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 a033e9dfa0 Add use of BLKGETSIZE64 and fix typos in debug output.
(Logical change 1.278)
2004-02-17 14:01:22 +00:00
omakaista.fi!szaka 5f20b21ef8 BLKGETSIZE ioctl uses unsigned long, not long for the size parameter.
Thus the maximum supported device is 2 TB on 32 bit platforms
instead of only 1 TB.

(Logical change 1.277)
2004-02-17 03:40:22 +00:00
cantab.net!aia21 26fbe3a101 Update for latest libtool/autoconf/automake.
(Logical change 1.273)
2004-01-26 09:53:57 +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 b19215d1ed Fix memory leaks in ntfs_readdir() and ntfs_inode_lookup_by_name(). Thanks to Christophe Grenier who used Valgrind to find them.
(Logical change 1.272)
2004-01-22 23:53:36 +00:00
cantab.net!aia21 6b87731c2a Make decompression work in all test cases I tried.
(Logical change 1.268)
2004-01-21 12:30:18 +00:00
cantab.net!aia21 6c7b8a6ef6 Fix a debug printf.
(Logical change 1.268)
2004-01-21 12:30:18 +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 af643aef59 Work around broken mbstowcs() implementation on Cygwin. (Lode Leroy)
(Logical change 1.266)
2004-01-19 15:58:00 +00:00
cantab.net!aia21 4b57fb71ea Partition handling update from Lode Leroy.
(Logical change 1.266)
2004-01-19 15:58:00 +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 4ef67c7247 Fix compiler warning.
(Logical change 1.265)
2004-01-19 09:09:56 +00:00
cantab.net!aia21 401c8ebf7d apply patch from Szaka:
- all warnings fixed for maintainer mode for ntfsresize and ntfsclone
- added 'const' to ntfs_ucstombs()'s first parameter
- 'fsync' also after metadata-only cloning
- fixed forced metadata-only, dirty ntfs cloning (only one -f needed)

(Logical change 1.264)
2004-01-15 17:07:57 +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 1a926436f9 Add include to provice prototype.
(Logical change 1.262)
2004-01-13 11:26:46 +00:00
cantab.net!aia21 e13713fd27 Finish attribute decompression code. (Completely untested!)
(Logical change 1.261)
2004-01-13 11:05:18 +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 5aa2088a95 Update
(Logical change 1.259)
2004-01-09 12:38:56 +00:00
cantab.net!aia21 010e735129 Initial revision 2004-01-09 12:38:56 +00:00
cantab.net!aia21 9c78a8bf4f Add compress.h to the build system.
(Logical change 1.259)
2004-01-09 12:38:56 +00:00
cantab.net!aia21 0636632d5a (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 652b1e554d Add new compile target "make libs" which only compiles libntfs.
(Logical change 1.251)
2004-01-06 16:39:48 +00:00
cantab.net!aia21 1226d98038 Add compatibility for building with DJGPP under DOS. (Christophe
Grenier, slightly modified by me)

(Logical change 1.247)
2004-01-06 11:04:29 +00:00
cantab.net!aia21 9bd88a7d39 Fix bug in run list encoding functions that hit sparse and compressed
files with holes. (Szabolcs Szakacsits)

(Logical change 1.246)
2004-01-05 12:39:10 +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 608669d564 Add ntfs_rl_pread().
(Logical change 1.244)
2003-12-05 18:06:50 +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 09ec84d205 fix small error handling bug.
(Logical change 1.242)
2003-12-02 17:16:21 +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 e92992ed63 Cleanup build system with respect to CFLAGS so they are consistent throughout and
the right flags get added for the right things and move all of this in one place in
configure.ac removing everything from the Makefile.am files.

(Logical change 1.239)
2003-11-19 10:31:21 +00:00
flatcap.org!ntfs f2b687549b force the constant to the 64 bit
(Logical change 1.237)
2003-11-18 21:17:57 +00:00
cantab.net!aia21 4e2220d018 Add -fms-extensions to libntfs_gnomevfs compilation, too.
(Logical change 1.236)
2003-11-18 18:19:10 +00:00
cantab.net!aia21 d9bf0f8f6e Make building of libntfs-gnomevfs optional. (Jan Kratochvil)
(Logical change 1.231)
2003-11-07 18:25:26 +00:00
cantab.net!aia21 912e86e813 Split off ntfsprogs-gnomevfs in separate rpm and move glib/gnome
dependencies to it.

(Logical change 1.230)
2003-11-07 10:16:00 +00:00
cantab.net!aia21 c26497232e (Logical change 1.227) 2003-11-06 16:30:56 +00:00
cantab.net!aia21 2f42ed8d72 Initial revision 2003-11-06 16:30:56 +00:00
cantab.net!aia21 50fb15960e Add man page for libntfs-gnomevfs and other man page updates.
(Logical change 1.227)
2003-11-06 16:30:56 +00:00
cantab.net!aia21 0edb229552 Fix build process so that libntfs-gnomevfs is linked against libntfs properly using libtool.
(Logical change 1.225)
2003-11-06 11:11:24 +00:00
cantab.net!aia21 ef164c7184 Update build. Note noticed by citool before...
(Logical change 1.224)
2003-11-04 13:13:48 +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 9dec022b81 fix signed warnings
(Logical change 1.223)
2003-11-04 13:04:07 +00:00
cantab.net!aia21 99d25b2120 fix signed warning
(Logical change 1.223)
2003-11-04 13:04:07 +00:00
cantab.net!aia21 20e3e64065 eeek! return MREFs not integers
(Logical change 1.223)
2003-11-04 13:04:07 +00:00
cantab.net!aia21 51931fd51d Update build.
(Logical change 1.223)
2003-11-04 13:04:07 +00:00
cantab.net!aia21 aecda4e488 Update build for ntfs gnome vfs
2003/11/04 11:46:06+00:00 cantab.net!aia21
Fix typo.

2003/11/04 11:44:39+00:00 cantab.net!aia21
Add ntfs gnome vfs library.

(Logical change 1.223)
2003-11-04 13:04:07 +00:00
cantab.net!aia21 80b57b880d Initial revision 2003-11-04 13:04:07 +00:00
cantab.net!aia21 2a4f72d834 (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
cantab.net!aia21 d993588f0c Implement rollback in ntfs_mft_record_free().
(Logical change 1.219)
2003-10-29 17:35:15 +00:00
cantab.net!aia21 1ef194e7ae (Logical change 1.216) 2003-10-27 17:07:57 +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 9f07090763 Fixes from Lode to make it work on Cygwin.
(Logical change 1.211)
2003-10-23 12:28:44 +00:00
cantab.net!aia21 67591d0256 update
(Logical change 1.209)
2003-10-17 15:43:14 +00:00
flatcap.org!ntfs cc4f8fccbd typo
(Logical change 1.205)
2003-10-12 17:38:05 +00:00
flatcap.org!ntfs d0cc759878 Updates from Szaka
(Logical change 1.191)
2003-10-09 07:56:06 +00:00
flatcap.org!ntfs 47df17cb17 Fix the build
(Logical change 1.190)
2003-10-06 19:21:42 +00:00
cantab.net!aia21 f49930c0f4 ntfs_device_disk_io_ops is now ntfs_device_default_io_ops.
(Logical change 1.188)
2003-10-06 11:38:25 +00:00
cantab.net!aia21 a34d218e90 merge common functions from disk_io.c into device.c
(Logical change 1.188)
2003-10-06 11:38:25 +00:00
cantab.net!aia21 14b8a9bab6 disk_io is gone. device_io appears.
(Logical change 1.188)
2003-10-06 11:38:25 +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 0e6dac03b6 Moved from disk_io.c. All functions specific to unix style device operations.
}(Logical change 1.188)
2003-10-06 11:38:25 +00:00
cantab.net!aia21 d999304a70 Moved from disk_io.c. All functions specific to unix style device operations.
2003/10/06 10:37:38+01:00 cantab.net!aia21
Rename: libntfs/disk_io.c -> libntfs/unix_io.c

(Logical change 1.188)
2003-10-06 11:38:25 +00:00
cantab.net!aia21 68fc3c2642 Make stat and ioctl return error instead of silently succeeding.
This probably breaks Cygwin but never mind...

(Logical change 1.188)
2003-10-06 11:38:25 +00:00
cantab.net!aia21 3d3b853379 Initial revision 2003-10-06 11:38:25 +00:00
cantab.net!aia21 9a0c63f302 (Logical change 1.188) 2003-10-06 11:38:25 +00:00
cantab.net!aia21 433801118e Add win32_io.c to be distributed.
(Logical change 1.185)
2003-09-30 10:32:09 +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 f2dd1f454f Auto merged
2003/08/03 15:52:54+01:00 cantab.net!aia21
- Return ENOTDIR errno if inode is not a directory.
- Fix stupid bug where we attempt to close ia_na when it is null.

(Logical change 1.169)
2003-08-03 14:56:03 +00:00
cantab.net!aia21 8b9987bf4d - Return ENOTDIR errno if inode is not a directory.
- Fix stupid bug where we attempt to close ia_na when it is null.

(Logical change 1.168)
2003-08-03 14:54:06 +00:00
cantab.net!aia21 bef4012b5e sys/ioctl.h always needed.
__LINUX__ no longer works.  Use linux instead.

(Logical change 1.166)
2003-07-31 14:12:36 +00:00
cantab.net!aia21 951bacc20b Use hasmntopt only if it exists.
(Logical change 1.166)
2003-07-31 14:12:36 +00:00
cantab.net!aia21 162c1b9161 Lode Leroy: Fix typo in win32_io.c.
(Logical change 1.164)
2003-07-29 16:28:09 +00:00
cantab.net!aia21 18341d53b0 tidy up win32_io.c, especially error returns. I hope this works on windows...
(Logical change 1.163)
2003-07-29 10:12:43 +00:00
cantab.net!aia21 8a4288ed10 Fix a typo when I was Cifying the code. (Thanks to Lode for telling me what I did wrong.)
(Logical change 1.159)
2003-07-23 09:33:40 +00:00
cantab.net!aia21 4b02e7606e Initial revision 2003-07-22 12:20:41 +00:00
cantab.net!aia21 8ea36f6e84 (Logical change 1.155) 2003-07-22 12:20:41 +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 c6069336f8 Improve the MS_RDONLY check.
(Logical change 1.153)
2003-07-12 15:46:12 +00:00
cantab.net!aia21 993640ad31 Fix the O_RDONLY vs O_RDWR check. It was failing because
O_RDONLY is zero and hence the old check was always successful.

(Logical change 1.153)
2003-07-12 15:46:12 +00:00
cantab.net!aia21 5c2ff2283b Bump LTVERSION by one because the library interfaces have changed.
(Logical change 1.142)
2003-06-03 12:37:21 +00:00
cantab.net!aia21 75d44c72a0 Add stat to ntfs_device_operations and implement mandatory locking when
opening / closing the device (in the default disk_io functions).

2003/06/03 10:35:17+01:00 cantab.net!aia21
Add Dirty bit setting/clearing.

(Logical change 1.139)
2003-06-03 11:07:54 +00:00
cantab.net!aia21 137b10dca8 Add ntfs_volume_alloc() for low level utilities.
2003/06/03 10:35:17+01:00 cantab.net!aia21
Cleanup and do not destroy the ntfs device structure when unmounting a volume.

(Logical change 1.139)
2003-06-03 11:07: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 15ed630289 Update.
2003/05/25 20:40:26+01:00 cantab.net!aia21
Add -fms-extensions when compiling with gcc-3.2+.

(Logical change 1.136)
2003-05-26 12:58:41 +00:00
cantab.net!aia21 9f64f96ee9 Initial revision 2003-05-26 12:58:41 +00:00
cantab.net!aia21 3d929125fa Add device.c.
2003/05/25 20:40:26+01:00 cantab.net!aia21
Add -fms-extensions when compiling with gcc-3.2+.

(Logical change 1.136)
2003-05-26 12:58:41 +00:00
cantab.net!aia21 5389b4d556 (Logical change 1.136) 2003-05-26 12:58:41 +00:00
cantab.net!aia21 80487422f7 Fix off-by-one error in ntfs_cluster_{read,write}(). (Ian Jackson)
(Logical change 1.135)
2003-05-06 22:03:28 +00:00
cantab.net!aia21 549751634a patch from Szaka:
This is needed, otherwise ntfsimage outputs libntfs messages in debug
mode if stdout specified thus confusing e.g. compressing tools reading
from pipe.  E.g. 'ntfsimage -o - device | bzip2 ...' creates a
corrupted, unusable ntfs image.

I've looked through libntfs and apparently no other places with this
problem.

	Szaka

(Logical change 1.132)
2003-03-24 13:51:37 +00:00
cantab.net!aia21 640b2c164b Auto merged
2003/03/18 16:54:33+00:00 cantab.net!aia21
fix typo

(Logical change 1.129)
2003-03-18 16:54:39 +00:00
cantab.net!aia21 958a75b6cd Fix multi string literal typo.
(Logical change 1.127)
2003-03-14 00:48:50 +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 20c360bdf1 Fix logic inversion bugs. Thanks to Russ Christensen for finding the
first one.

(Logical change 1.125)
2003-03-07 17:31:47 +00:00
cantab.net!aia21 fb7a94516e Typo fix...
(Logical change 1.124)
2003-02-25 18:57:15 +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 b42dc41d6a ntfs_mft_records_write(): stupid buffer overflow bug (ouch!)
(Logical change 1.121)
2003-02-13 10:27:33 +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
cantab.net!aia21 d650fb065b Fix stupid bug in ntfs_mapping_pairs_build() (thanks to Szaka!) and
a simillar bug in ntfs_get_size_for_mapping_pairs().

(Logical change 1.113)
2003-02-06 15:20:56 +00:00
cantab.net!aia21 82d9438cb9 remove unnecessary FIXME
(Logical change 1.112)
2003-01-28 15:40:39 +00:00
cantab.net!aia21 b37b14e014 Implementation of ntfs_cluster_alloc(). (Some fixme's remaining
and note this is _completely_ untested code!!! DANGEROUS!!!)

(Logical change 1.111)
2003-01-26 16:47:16 +00:00
cantab.net!aia21 05c32a26e1 small tidyup
(Logical change 1.110)
2003-01-25 17:02:31 +00:00
cantab.net!aia21 0bda9e5cda Add new function ntfs_bitmap_set_run() to complement the existing
ntfs_bitmap_clear_run().

(Logical change 1.109)
2003-01-25 15:26:56 +00:00
flatcap.org!flatcap b6cfa71e8f whitespace tweak
(Logical change 1.105)
2003-01-19 22:01:18 +00:00
cantab.net!aia21 e8430e5dea Remove fdatasync() calls from ntfs_pwrite(). We purely rely on
ntfs_umount() to do the syncing and this results in a massive
speed up when running io intensive libntfs based applications.

(Logical change 1.97)
2003-01-16 17:28:04 +00:00
flatcap.org!flatcap f387921c31 export find_in_attrdef
(Logical change 1.93)
2003-01-13 20:05:15 +00:00
cantab.net!aia21 6087f46b67 update
(Logical change 1.92)
2003-01-13 17:17:52 +00:00
cantab.net!aia21 f84e1e7a1c fix by Szaka (logic inversion in ntfs_device_size_get())
(Logical change 1.92)
2003-01-13 17:17:52 +00:00
cantab.net!aia21 a3e3e66651 update from Szaka modified by me:
new API disk_io.[hc]: ntfs_device_size_get() ported from mkntfs.c

(Logical change 1.86)
2003-01-10 17:00:47 +00:00
flatcap.org!flatcap 3d4f80ae16 sync with Paul
a typos left over from the big rename

(Logical change 1.82)
2003-01-09 16:30:59 +00:00
flatcap.org!flatcap 953ac4ff86 sync with Paul
(Logical change 1.82)
2003-01-09 16:30:59 +00:00
flatcap.org!flatcap 4a763bc970 a typos left over from the big rename
(Logical change 1.82)
2003-01-09 16:30:59 +00:00
flatcap.org!flatcap 679206550b add -Wall to normal build (not just debug)
(Logical change 1.80)
2003-01-09 01:42:21 +00:00
cantab.net!aia21 57f0b7300e update copyright
(Logical change 1.78)
2003-01-08 10:48:09 +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 8a3f5f4c00 fix compile (thanks to Szaka)
(Logical change 1.76)
2003-01-06 22:08:00 +00:00
cantab.net!aia21 75c2ef39f0 (Logical change 1.76) 2003-01-06 22:08:00 +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 be6376f85e New API provided by mft.[hc]:
ntfs_mft_record_alloc(), -- WIP
	ntfs_mft_record_free().

(Logical change 1.74)
2002-12-29 21:37:21 +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 3bcc223bfd Change ntfs_inode_close() to disconnect extent inodes from their base
inode when an extent inode is closed. This is needed byt ntfs_mft_record_free()
in order to be able to free extent mft records.

(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 f75d0c5be5 Load the attribute definition table at mount time and free it at umount time.
(Logical change 1.72)
2002-12-29 12:17:35 +00:00
cantab.net!aia21 998104321b Forgot the increment in the while loop. Thanks to Szaka for spotting this.
(Logical change 1.71)
2002-12-28 22:28:02 +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 4084c90c93 Remove silly and wrong sanity check.
(Logical change 1.69)
2002-12-28 20:10:50 +00:00
cantab.net!aia21 3d5d045fe4 Fix stupid typo bugs.
(Logical change 1.69)
2002-12-28 20:10:50 +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 19c9c5dff3 ntfs_umount() now also does an fdatasync() on the device before closing it.
(Logical change 1.64)
2002-12-27 23:14:11 +00:00
cantab.net!aia21 ebe9aa33f3 Implement ntfs_rl_truncate().
(Logical change 1.63)
2002-12-27 18:53:56 +00:00
cantab.net!aia21 ac10aa7709 Setup the cluster and mft allocators.
(Logical change 1.62)
2002-12-27 17:25:45 +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 e5d59f00f1 Fix compile.
(Logical change 1.60)
2002-12-27 16:35:17 +00:00
cantab.net!aia21 ccf8a369a2 Update build process for bitmap.c.
(Logical change 1.59)
2002-12-27 16:18:10 +00:00
cantab.net!aia21 42338a8bee Typo fix.
(Logical change 1.59)
2002-12-27 16:18:10 +00:00
cantab.net!aia21 54cde7ab8e (Logical change 1.59) 2002-12-27 16:18:10 +00:00
cantab.net!aia21 26a99e4db3 Initial revision 2002-12-27 16:18:10 +00:00
cantab.net!aia21 d761ee8105 Fix compilation.
2002/12/27 16:03:18+00:00 cantab.net!aia21
Implement ntfs_cluster_free().

(Logical change 1.59)
2002-12-27 16:18:10 +00:00
cantab.net!aia21 67ae4b9651 Update comments for ntfs_cluster_free().
(Logical change 1.58)
2002-12-26 20:36:52 +00:00
cantab.net!aia21 1dd01bf3c7 New API: ntfs_rl_truncate().
(Logical change 1.58)
2002-12-26 20:36:52 +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 4ad9d937a6 Implement ntfs_inode_sync().
(Logical change 1.56)
2002-12-26 14:00:31 +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 cd92a29ccb Typo.
(Logical change 1.54)
2002-12-25 20:18:29 +00:00
cantab.net!aia21 624000557c Sort out compilation.
2002/12/25 19:48:37+00:00 cantab.net!aia21

(Logical change 1.54)
2002-12-25 20:18:29 +00:00
cantab.net!aia21 6d3d453c53 Initial revision 2002-12-25 20:18:29 +00:00
cantab.net!aia21 b7857b472b Add lcnalloc to build process.
(Logical change 1.54)
2002-12-25 20:18:29 +00:00
cantab.net!aia21 36635b8fdc Typos.
(Logical change 1.53)
2002-12-25 19:25:39 +00:00
cantab.net!aia21 0e871e83b2 New API function ntfs_ucsnlen().
(Logical change 1.52)
2002-12-25 19:17:56 +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 ce025a34ea Add sanity check to ntfs_inode_close() to detect attempts at closing
extent inodes.

(Logical change 1.43)
2002-12-13 15:06:29 +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 095881f26d update
(Logical change 1.41)
2002-12-12 20:12:16 +00:00
cantab.net!aia21 f34b2fa185 Fix logic inversion bug in ntfs_extent_inode_open().
Spotted and fixed by Szaka.
This one was particularly dumb as it has been fixed in the NTFS
kernel driver for over half a year but the fix was never propagated
into the library. )-:

(Logical change 1.39)
2002-12-12 15:02:11 +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 89c6f610e2 bugfix: make ntfs_names_are_equal return true if both names are zero length
thanks to Leonard Norrgrd for the fix.

(Logical change 1.37)
2002-12-10 16:46:10 +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 900c3e987b remove cvs id tags
(Logical change 1.35)
2002-12-09 16:09:32 +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 030078ba24 update build
(Logical change 1.33)
2002-12-09 09:23:21 +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 c7bcb144b2 rename run{ ,_,-}list to runlist
(Logical change 1.31)
2002-12-08 20:36:02 +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
cantab.net!aia21 1dc06ead44 rename run{ ,_,-}list to runlist
(Logical change 1.30)
2002-12-08 20:33:08 +00:00
flatcap.org!flatcap a7b325ee46 Initial revision 2002-12-02 01:57:17 +00:00
flatcap.org!flatcap 5fa15e2d7e Added compat.c to the build
(Logical change 1.28)
2002-12-02 01:57:17 +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 cb5b25e58b (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.org!flatcap 86126fa972 portability
(Logical change 1.26)
2002-12-01 18:13:20 +00:00
cantab.net!aia21 117764a1fb Rename: libntfs/attrib_RE.c -> libntfs/attrib_RE.txt
}(Logical change 1.16)
2002-11-19 14:53:54 +00:00
cantab.net!aia21 752f7f2026 Rename: libntfs/attrib_RE.c -> libntfs/attrib_RE.txt
(Logical change 1.16)
2002-11-19 14:53:54 +00:00
cantab.net!aia21 67b6ffec64 Initial revision 2002-11-19 14:53:54 +00:00
!flatcap e1032c4b86 whitespace and include guards
2002/07/08 23:27:16-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/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/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/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/28 21:59:11-00:00 !antona
Cleanup.

2002/04/28 21:20:27-00:00 !mattjf
ntfslabel - Coverted stoucs to ntfs_mbstoucs()
	  - code cleanup
	  - better error checking
unistr.c  - removed size_t casts from ntfs_mbstoucs()

2002/04/18 17:20:05-00:00 !antona
New API function provided by unistr.[ch]: ntfs_mbstoucs()

2002/04/16 20:56:01-00:00 !antona
Add new API unistr.[ch]: ntfs_ucstombs() and make ntfslabel use it

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

2002/04/15 20:04:27-00:00 !antona
Fix all compiler warnings that came up with -Wall. Enabled -Wall for ./configure --enable-debug everywhere. Fix a few bugs in mkntfs that came up in the warnings (just error code paths, nothing major).

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

2001/06/09 16:31:13-00:00 !antona
mkntfs alpha release is here! Yey!
The only thing I am worried about is the fact that the system call to get the
number of sectors on the device returns a value rounded to the nearest 1024
bytes (converted to 512 byte blocks) thus we might be writting the backup boot
sector too early instead of on the real last sector but there is nothing I can
do apart from starting to play games like accessing the main device for hds
instead of the partition device which wouldn't help in the case of the last
partition though... Alternatively have to place the backup boot sector in the
middle of the disk like WinNT3.51 and earlier did but I need an image to see
exactly how they did it and even then we have the problem of not knowing where
the middle of the disk is as we don't really know how many sectors there are
for real with Linux kernel lying to us.

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:26-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/08 03:02:55-00:00 !antona
Added cvs Id header.

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/31 15:27:34-00:00 !antona
Added new name comparison function.

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...

(Logical change 1.5)
2002-08-22 18:09:47 +00:00
!flatcap 6593450759 whitespace and include guards
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/07 19:44:57-00:00 !antona
Change ntfs_read_file_record() not to abort if the inode is not in use. Adapt callers which care to check this themselves.

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/06/08 14:12:01-00:00 !antona
ntfs_readdir() has arrived.

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

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

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/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/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/20 01:53:02-00:00 !antona
Rename mft code adding ntfs_ prefix. Change all return values to zero on success. Thanks to mattjf for pointing out the inconsistencies.

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

2002/04/15 20:04:27-00:00 !antona
Fix all compiler warnings that came up with -Wall. Enabled -Wall for ./configure --enable-debug everywhere. Fix a few bugs in mkntfs that came up in the warnings (just error code paths, nothing major).

2002/04/15 19:02:40-00:00 !antona
Really fix the library and mkntfs while at it.

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

2002/04/15 18:39:37-00:00 !antona
Cleanup some mistakes.

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 14:08:30-00:00 !antona
Cleanup library code. Throw away unused stuff.

2002/04/14 13:34:49-00:00 !antona
Throw away all unnecessary crap.

2001/12/15 05:13:08-00:00 !antona
Remove atomic ops and add compiler version check.

2001/06/01 02:07:26-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/11 14:29:12-00:00 !antona
Almost fixed compilaton. Remember to declare a struct type with
struct NAME { declaration }; rather than the bogus struct { declaration NAME };
then can use typedef NAME othername; on a forward declaration of NAME
(struct NAME;) and all is fine...

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

Header file reorganisation so that it compiles.

2001/04/10 23:37:19-00:00 !antona
Ok, ntfsd was a mistake for userspace. It increases complexity no end while
not giving us much functionality. Lets get it working and then worry about the
kernel. - As it was the idea originally anyway, so this is just a return on the
right track. (-8

We keep the timer and signal handler but the only thing we do is to set a bool
flag (ntfs_need_sync) and we will just check this in appropriate places and
if it is true we call ntfs_sync_volumes() which sets it back to false. This
means no more locking at all of any description and no need to worry about the
signal handler interrupting things in bad ways and/or at bad times in the main
code.

2001/04/09 00:05:37-00:00 !antona
More or less finished file handling. (Probably some useful functions are
still missing but they will be implemented as need arises.)

One thing that is stupid at the moment is we don't limit the amount of
cached mft_records so if you were to load loads the machine would eventually
run out of memory... Can't happen with files as they are limited to 1000,
unless you are short of memory. (Hard limit at the moment, set in ntfs_mount().
Maybe ntfsd should be monitoring memory usage and be throwing out unused cache
entries and closed_files? That would mean to have locking everywhere, though.)

Still missing: - Convert old code to use new stuff. - Add non-resident
attributes somewhere. Either into the mft_entry structure or into the
ntfs_file structure, but which? At the moment I tend to mft_entry so they can
be synced together with the entries by ntfsd.

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/03 23:38:34-00:00 !antona
Mark mft entry dirty function complete

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

2001/01/25 22:25:43-00:00 !antona
More files added to ntfs lib. Fixed some consistency problems.

(Logical change 1.5)
2002-08-22 18:09:47 +00:00
!flatcap 4593a8d3ca whitespace and include guards
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/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/06/05 20:32:53-00:00 !antona
Mft mirror now updated from ntfs_write_mft_record, yey! Fixup ntfstools accordingly.

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

2002/06/04 12:12:42-00:00 !antona
Final POSIXification of disk_io functions. (famous last words)

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

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/18 18:15:46-00:00 !antona
Define API for bootsect.[ch]: is_boot_sector_ntfs().

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

2002/04/15 20:04:27-00:00 !antona
Fix all compiler warnings that came up with -Wall. Enabled -Wall for ./configure --enable-debug everywhere. Fix a few bugs in mkntfs that came up in the warnings (just error code paths, nothing major).

2002/04/15 18:39:37-00:00 !antona
Cleanup some mistakes.

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:30-00:00 !antona
Cleanup library code. Throw away unused stuff.

2001/06/01 02:07:26-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/11 15:29:39-00:00 !flatcap
minor build fixes

2001/04/11 14:29:12-00:00 !antona
Almost fixed compilaton. Remember to declare a struct type with
struct NAME { declaration }; rather than the bogus struct { declaration NAME };
then can use typedef NAME othername; on a forward declaration of NAME
(struct NAME;) and all is fine...

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/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/03 22:42:42-00:00 !antona
See last commit message.

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/26 04:34:20-00:00 !antona
typo fix

2001/03/26 04:28:07-00:00 !antona
Cleanup and fixes.

2001/03/26 03:39:59-00:00 !antona
Updates

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/26 00:34:10-00:00 !antona
Added disk io functions file.

(Logical change 1.5)
2002-08-22 18:09:47 +00:00
!flatcap 55763f61fa whitespace and include guards
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/06/30 17:02:41-00:00 !flatcap
typos

2002/04/18 18:15:46-00:00 !antona
Define API for bootsect.[ch]: is_boot_sector_ntfs().

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

2002/04/14 13:28:19-00:00 !antona
Cleanup mst fixup handling bringing it inline with kernel driver and rename the file to mst rather than ntfs_rec.

(Logical change 1.5)
2002-08-22 18:09:47 +00:00
!flatcap 4c4d606dcb whitespace and include guards
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/06/06 20:47:33-00:00 !antona
The beginning of the directory operations! Introduce dir.[hc] and ntfs_lookup_inode_by_name().

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

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

2002/04/21 01:26:39-00:00 !antona
Cleanup/streamline include file dependencies.

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/18 18:15:46-00:00 !antona
Define API for bootsect.[ch]: is_boot_sector_ntfs().

2001/06/01 02:07:26-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/08 03:02:55-00:00 !antona
Added cvs Id header.

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

2001/01/30 12:29:03-00:00 !antona
And the last move into CVS. The make files. (Note: compilation is untested
and all changes have been done without testing so if it doesn't compile at
the moment don't be too surprised.)

2001/01/25 22:25:43-00:00 !antona
More files added to ntfs lib. Fixed some consistency problems.

(Logical change 1.5)
2002-08-22 18:09:47 +00:00