Commit Graph

202 Commits (ad03d832e5ae9e3069bfefdfbc0eab4f60da6cef)

Author SHA1 Message Date
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 Norrgård 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