Commit Graph

660 Commits (02bab2956c93b1a5e2021a4414b54542590ff029)

Author SHA1 Message Date
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
!flatcap 10a361fafa 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/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/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.

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

(Logical change 1.5)
2002-08-22 18:09:47 +00:00
!flatcap 67b85b0e53 new function headers and a few function moves
2002/07/11 16:20:34-00:00 !flatcap
whitespace and include guards

2002/07/11 13:18:11-00:00 !flatcap
start to break up the dependency loops in the header files

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

(Logical change 1.5)
2002-08-22 18:09:47 +00:00
!flatcap 5b6a80f9a5 new function headers and a few function moves
2002/07/11 16:20:33-00:00 !flatcap
whitespace and include guards

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

(Logical change 1.5)
2002-08-22 18:09:47 +00:00
!flatcap 1483abd26c move the runlist functions from attrib.c to runlist.c
2002/06/06 15:43:59-00:00 !antona
Add dir template to make files

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

2002/04/25 07:50:34-00:00 !antona
grr. MDK8.1 modified loads of stuff. Put it back with RH7.2

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/19 18:23:56-00:00 !antona
Add foundation of new inode API.

2002/04/15 20:04:26-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:29-00:00 !antona
Cleanup library code. Throw away unused stuff.

2002/01/26 04:32:35-00:00 !antona
RedHat 7.2 - updates

2001/12/06 01:14:52-00:00 !antona
Added mount flags to ntfs_mount and adapted utilities to new mount syntax.

2001/11/17 01:57:53-00:00 !antona
Update build system with new document.

2001/11/09 23:36:17-00:00 !antona
Bug fixes

2001/11/09 19:24:23-00:00 !antona
With lots of luck this is going to be 1.2.3.

2001/07/24 17:41:01-00:00 !antona
Minor updates and restructuring the distribution. See NEWS and ChangeLog for
details.

2001/06/11 04:02:08-00:00 !antona
Linux-NTFS 1.0.0-pre-1 - FEATURE FREEZE
=======================================
mkntfs complete with option parsing and more cool things.
mkntfs man page complete.
info files updated.

TODO Before 1.0.0 final:

- Test mkntfs options & mkntfs itself.
- Test tar ball generation.
- Test rpm generation.

2001/06/10 18:30:17-00:00 !antona
Preparations for the 0.1.0 release. Updating documentation and information.
Updating rpm generation and added mkntfs man page which currently is not
accurate as it shows all the mke2fs options in it while mkntfs doesn't actually
accept any options except for device at all but it is a good starting point.

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/07 00:53:37-00:00 !antona
Makefile updates.

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/02/03 02:03:36-00:00 !antona
More files.

2001/02/02 00:16:18-00:00 !antona
Changed make process to using autoconf/automake/libtool.
Added necessary files for this and for the gnu standard.
Inititial checkin. Probably still stuff missing. Will know soon...

(Logical change 1.5)
2002-08-22 18:09:47 +00:00
!flatcap bd23a01967 move the runlist functions from attrib.c to runlist.c
2002/06/06 15:43:58-00:00 !antona
Add dir template to make files

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

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/19 18:23:56-00:00 !antona
Add foundation of new inode API.

2002/04/15 20:04:26-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:29-00:00 !antona
Cleanup library code. Throw away unused stuff.

2001/12/06 01:14:52-00:00 !antona
Added mount flags to ntfs_mount and adapted utilities to new mount syntax.

2001/07/24 17:41:01-00:00 !antona
Minor updates and restructuring the distribution. See NEWS and ChangeLog for
details.

2001/06/10 18:30:17-00:00 !antona
Preparations for the 0.1.0 release. Updating documentation and information.
Updating rpm generation and added mkntfs man page which currently is not
accurate as it shows all the mke2fs options in it while mkntfs doesn't actually
accept any options except for device at all but it is a good starting point.

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/07 00:53:37-00:00 !antona
Makefile updates.

2001/03/26 03:46:56-00:00 !antona
Makefile fix.

2001/02/03 02:03:36-00:00 !antona
More files.

2001/02/02 01:15:17-00:00 !antona
Updated documentation and other text files. Preparing for initial release.

2001/02/02 00:16:18-00:00 !antona
Changed make process to using autoconf/automake/libtool.
Added necessary files for this and for the gnu standard.
Inititial checkin. Probably still stuff missing. Will know soon...

(Logical change 1.5)
2002-08-22 18:09:47 +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 b47fe4d7ad AT_NONAME -> AT_UNNAMED
2002/07/14 17:21:32-00:00 !szaka
Move ntfs_set_volume_flags() from attrib[ch] to volume.[ch]

2002/07/14 13:18:01-00:00 !szaka
ntfs_reset_logfile(): delete a NOOP

2002/07/14 12:34:44-00:00 !szaka
ntfs_reset_logfile(): free resources in error, handle partial I/O

2002/07/12 12:38:54-00:00 !szaka
Rewrote $LogFile reset using new inode API and moved it from ntfsfix to
libntfs as ntfs_reset_logfile(). ntfsresize also resets log file.

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/12 07:10:44-00:00 !szaka
NTFS_V* version macros and ntfs_is_version_supported() added.
Modified ntfsfix and ntfsresize to use them.

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

2002/07/11 16:20:34-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 01:01:40-00:00 !flatcap
more noname changes

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/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/07 01:16:20-00:00 !antona
Updates

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

2002/06/02 13:57:59-00:00 !antona
Fix detection of read-only mounts in volume.c::ntfs_check_mnteent().

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/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/25 08:22:14-00:00 !antona
Can't type..

2002/04/25 08:19:32-00:00 !antona
Improve function description.

2002/04/23 23:27:33-00:00 !antona
Fixup the force option in mkntfs.c. Change the ntfs_check_if_mounted so it works on system not implementing {set,get,end}mntent, too. Also make it more powerful in telling us not only if something is mounted but also if it is the fs root and if it is read-only.

2002/04/23 08:37:07-00:00 !antona
Fix minor buglet in volume.c and tidy up white space.

2002/04/23 08:29:13-00:00 !mattjf
Minor change to ntfs_check_if_mounted() description.

2002/04/23 08:25:41-00:00 !mattjf
Code cleanup.
Removed check_mount() and added a generic ntfs_check_if_mounted()
 function to the library
Better error checking

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:43-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/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 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/16 12:13:53-00:00 !antona
New API function mft.[ch]::read_file_record(). Also some cleanups.

2002/04/15 20:04:28-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:41-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 00:42:08-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/12 15:23:47-00:00 !antona
Cleanup ntfslabel, write a man page for it, integrate it all in the distribution properly, silence output from ntfs_mount() (conditional on running configure with --enable-debug), update all docs accordingly. Add Rich and Matt to AUTHORS.

2002/04/11 23:10:59-00:00 !flatcap
Matt Fanto's changes to retrieve the volume name and a utility to print it

2001/12/06 01:14:52-00:00 !antona
Added mount flags to ntfs_mount and adapted utilities to new mount syntax.

2001/06/10 15:54:20-00:00 !antona
Linux-NTFS 0.1.0-pre1
=====================
-fixed up ntfsfix and ntfsdump_logfile
-corrected stuff
-several bug fixes
-fixed (hopefully) final bug with mkntfs (sd generator was wrong due to brain'o)
-mkntfs now completed, only need to add a few command line options before first
public release.
-rpm generation file updated and autostrip modified to make use of install-stip
make target instead of stripping manually
-made bootsector check verbosity during mount dependent on --enable-debug
configure option.

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

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:54-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/25 22:25:43-00:00 !antona
More files added to ntfs lib. Fixed some consistency problems.

2001/01/25 14:00:43-00:00 !antona
Added volume.c code and fixed some typos and inconsistencies.

(Logical change 1.5)
2002-08-22 18:09:47 +00:00
!flatcap 1acb46ffeb AT_NONAME -> AT_UNNAMED
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/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/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/01 00:41:45-00:00 !antona
huge update!

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 01:13:50-00:00 !antona
Remove commented out include

2002/04/21 01:12:55-00:00 !antona
Fix mkntfs again.

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/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/19 18:23:56-00:00 !antona
Add foundation of new inode API.

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

2002/06/06 15:41:30-00:00 !antona
Add template files for directory handling code.

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