- 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)
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)
2002/07/14 12:36:04-00:00 !szaka
Increase NTFS_BUF_SIZE to 8192 (better average performance)
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 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 16:20:33-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/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:32-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/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/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/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/14 13:56:45-00:00 !antona
cleanup header files.
2001/12/06 01:14:52-00:00 !antona
Added mount flags to ntfs_mount and adapted utilities to new mount syntax.
2001/06/01 02:07:24-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 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/10 22:20: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/07 17:30:10-00:00 !antona
ntfsd should be finished now
2001/04/03 22:41:30-00:00 !antona
We now have files and keep track of them on a per volume basis and same
for inodes (mft_records). At least conceptually anyway.
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/06 02:10:55-00:00 !antona
Allow variable length upcase table.
Progressing on find_next_attr().
2001/01/30 12:55:21-00:00 !antona
Fixed the compilation issues.
2001/01/25 14:00:43-00:00 !antona
Added volume.c code and fixed some typos and inconsistencies.
2001/01/24 02:13:24-00:00 !antona
Add a bunch of headers (attrib.h is work in progress).
(Logical change 1.5)
2002/07/11 13:18:11-00:00 !flatcap
start to break up the dependency loops in the header files
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/06/08 14:12:01-00:00 !antona
ntfs_readdir() has arrived.
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/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/16 12:13:52-00:00 !antona
New API function mft.[ch]::read_file_record(). Also some cleanups.
2002/04/14 13:56:45-00:00 !antona
cleanup header files.
2001/12/15 05:13:08-00:00 !antona
Remove atomic ops and add compiler version check.
2001/11/17 02:03:14-00:00 !antona
Update layout.h attribute compression description.
2001/11/09 18:24:32-00:00 !antona
Updates to docs, layout.h and ntfsfix to support Windows XP NTFS
2001/09/03 22:01:08-00:00 !antona
Small clarifications to file attribute flags.
2001/08/27 16:58:07-00:00 !antona
Updates.
2001/07/13 13:55:30-00:00 !antona
Updates to layout.h.
2001/06/14 15:41:41-00:00 !antona
Add comments for Windows XP ntfs changes in mft record header structure.
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/08 19:58:24-00:00 !antona
getting closer to mkntfs alpha.
2001/06/06 22:55:49-00:00 !antona
And some more mkntfs + some updates to layout.h concerning directories and
alignment requirements.
2001/06/04 14:04:30-00:00 !antona
More work on mkntfs dir stuff.
2001/06/04 11:29:45-00:00 !antona
*** empty log message ***
2001/06/03 02:09:08-00:00 !antona
Fix/expand dircetory info in layout.h and add creation of index root attribute
to mkntfs.c.
2001/06/01 19:04:08-00:00 !antona
Updates & fixes.
2001/06/01 02:07:24-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 11:50:24-00:00 !antona
Forgot to cvs add ...
(Logical change 1.5)
2002/07/11 13:18:11-00:00 !flatcap
start to break up the dependency loops in the header files
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/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/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:25-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 17:51:26-00:00 !antona
read/write_mft_record(s) are here
2002/04/15 00:45:28-00:00 !antona
Update headers to reflect changes in libntfs.
2002/04/14 13:56:45-00:00 !antona
cleanup header files.
2002/04/14 13:34:50-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:24-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:11-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:54:25-00:00 !antona
Fixed somethings...
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/10 22:20: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:54-00:00 !antona
Minor fix
2001/04/03 23:35:52-00:00 !antona
Few updates.
2001/04/03 22:41:30-00:00 !antona
We now have files and keep track of them on a per volume basis and same
for inodes (mft_records). At least conceptually anyway.
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:25:19-00:00 !antona
Added a name comparison function.
2001/03/15 23:13:11-00:00 !antona
And this one...
2001/03/05 03:15:08-00:00 !antona
Forgot a few...
2001/03/05 02:45:35-00:00 !antona
Renamed things, broke everything. Should be stabilized now in the headers.
Still reworking find attribute stuff but at least I have an idea of how I want
to do it now.
2001/03/02 15:03:56-00:00 !antona
Update to latest include files.
2001/01/30 12:55:21-00:00 !antona
Fixed the compilation issues.
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/28 05:49:57-00:00 !antona
More header development. AttrDef description.
2001/01/27 14:22:02-00:00 !antona
Added a logfile dumper as a new utility.
Almost finished the first ntfsfix release. (Still missingin CVS are attrib.c
for ntfslib and the makefiles to build everything.)
Fixes for nested packed structure/union typedefs as gcc doesn't automatically
nest the __attribute__ ((__packed__)), even though according to the gcc info
page it does. (Thanks to Yuri Per <yuri@acronis.com> for pointing this out.)
2001/01/24 02:13:24-00:00 !antona
Add a bunch of headers (attrib.h is work in progress).
(Logical change 1.5)
2002/07/11 13:18:11-00:00 !flatcap
start to break up the dependency loops in the header files
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/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/14 13:56:45-00:00 !antona
cleanup header files.
2001/12/15 05:13:08-00:00 !antona
Remove atomic ops and add compiler version check.
2001/08/02 01:44:56-00:00 !antona
Add ntfsfix man page and spell fixes. Update to 1.2.1 version and update all text files to go with it and the rpm spec file.
2001/06/01 02:07:24-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:20-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 14:29:11-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:50:24-00:00 !antona
Forgot to cvs add ...
(Logical change 1.5)
2002/07/11 13:18:11-00:00 !flatcap
start to break up the dependency loops in the header files
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/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 18:23:56-00:00 !antona
Add foundation of new inode API.
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/14 13:56:45-00:00 !antona
cleanup header files.
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:24-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 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/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:25:19-00:00 !antona
Added a 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/07/11 13:18:11-00:00 !flatcap
start to break up the dependency loops in the header files
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/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().
2002/04/14 13:56:45-00:00 !antona
cleanup header files.
2002/04/14 13:29:42-00:00 !antona
rename ntfs_rec to mst
(Logical change 1.5)