Commit Graph

72 Commits (bfd37171ab45fb039a62b7d4e95f6b51c6d804e5)

Author SHA1 Message Date
cantab.net!aia21 bfd37171ab Delete: include/disk_io.h
}(Logical change 1.188)
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 bbde93dacf Linux/types.h no longer needed at all.
stdint.h only include if present.

(Logical change 1.166)
2003-07-31 14:12:36 +00:00
cantab.net!aia21 85f9732874 Include stdio.h. Needed by Cygwin.
(Logical change 1.166)
2003-07-31 14:12:36 +00:00
cantab.net!aia21 f78cfd42a1 Export the default opearations so the low level utilities can use them.
(Logical change 1.139)
2003-06-03 11:07:54 +00:00
cantab.net!aia21 fc30058a95 Add stat to ntfs_device_operations.
(Logical change 1.139)
2003-06-03 11:07:54 +00:00
cantab.net!aia21 ed8e3db271 Add ntfs_volume_alloc() for low level utilities.
(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 dac5ebd480 Update.
(Logical change 1.136)
2003-05-26 12:58:41 +00:00
cantab.net!aia21 b928688153 Typo fix.
2003/05/25 21:04:53+01:00 cantab.net!aia21
Add allocation and deallocation of devices.

2003/05/25 20:40:26+01:00 cantab.net!aia21
fix typos.

2003/05/25 15:40:47+01:00 cantab.net!aia21

(Logical change 1.136)
2003-05-26 12:58:41 +00:00
cantab.net!aia21 c161a9b33e Just so it compiles for now until we finish the switch to *dev.
2003/05/25 21:04:53+01:00 cantab.net!aia21
Abstract low level device operations.

(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 bd71015de1 Add device.h to list of headers.
(Logical change 1.136)
2003-05-26 12:58:41 +00:00
cantab.net!aia21 acc8aa6f05 New function NTFS_BUG() which prints an error message and then causes
a segmentation fault. Only to be used for critical bug catches...

(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
cantab.net!aia21 edaa66643a Add a little endian mk_mref
(Logical change 1.107)
2003-01-20 11:08:14 +00:00
flatcap.org!flatcap b6cfa71e8f whitespace tweak
(Logical change 1.105)
2003-01-19 22:01:18 +00:00
cantab.net!aia21 7bf411786e add compat.h to distribution
(Logical change 1.100)
2003-01-18 15:29:33 +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 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 4e5b613d9c missed two
(Logical change 1.83)
2003-01-09 16:39:56 +00:00
cantab.net!aia21 312e98fd24 New API function: ntfs_attr_can_be_non_resident().
(Logical change 1.78)
2003-01-08 10:48:09 +00:00
cantab.net!aia21 cb8fc1b9e9 (Logical change 1.77) 2003-01-06 22:09:46 +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 84b007cf9c add export for ntfs_attr_size_bounds_check().
(Logical change 1.73)
2002-12-29 17:54:10 +00:00
cantab.net!aia21 6258afc6dd Add attribute definition table to ntfs volume structure.
(Logical change 1.72)
2002-12-29 12:17:35 +00:00
cantab.net!aia21 91597fe050 Add variables used by 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 5fe5494e4c Fix prototype.
(Logical change 1.59)
2002-12-27 16:18:10 +00:00
cantab.net!aia21 bccfbfbff4 Add export for ntfs_bitmap_clear_run().
(Logical change 1.59)
2002-12-27 16:18:10 +00:00
cantab.net!aia21 833db0bc4b Typo
(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 2eddb7228e New bit operations NInoTestAndSetDirty() and NInoTestAndClearDirty().
(Logical change 1.56)
2002-12-26 14:00:31 +00:00
cantab.net!aia21 7781c8f5df Fix test_and_set_bit() as well as test_and_clear_bit().
(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 185a33e214 Sort out compilation.
2002/12/25 19:51:31+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 0e871e83b2 New API function ntfs_ucsnlen().
(Logical change 1.52)
2002-12-25 19:17:56 +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 9e79b61437 start of renames to ntfs_object_action() format
(Logical change 1.34)
2002-12-09 09:42:12 +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 2550af241a Auto merged
2002/12/08 20:15:50+00:00 cantab.net!aia21
rename run{ ,_,-}list to runlist

(Logical change 1.31)
2002-12-08 20:36:02 +00:00
flatcap.org!flatcap a7b325ee46 Initial revision 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
cantab.net!aia21 89dcef0bf9 Fix compilation with gcc-3.2.
(Logical change 1.8)
2002-10-14 09:57:49 +00:00
!szaka 1935ac9421 Move ntfs_set_volume_flags() from attrib[ch] to volume.[ch]
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-08-22 18:09:47 +00:00