Commit Graph

376 Commits (b81e3f8959d1ce4eea0f8d60dfeebabb242b9d71)

Author SHA1 Message Date
(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