mirror of
https://git.code.sf.net/p/ntfs-3g/ntfs-3g.git
synced 2024-11-27 12:03:42 +08:00
87b71bf318
2002/07/15 18:12:51-00:00 !antona Update change log. 2002/07/15 18:10:23-00:00 !antona update changelog 2002/07/14 17:41:48-00:00 !antona Update changelog 2002/07/12 08:23:42-00:00 !antona update changelog 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:22:56-00:00 !antona Typo fix 2002/07/06 20:07:58-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/05 17:07:48-00:00 !antona Better gcc detection in 'configure.in'. (Szakacsits Szabolcs) 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:00-00:00 !antona ntfs_readdir() has arrived. 2002/06/06 20:47:28-00:00 !antona The beginning of the directory operations! Introduce dir.[hc] and ntfs_lookup_inode_by_name(). 2002/06/05 20:32:52-00:00 !antona Mft mirror now updated from ntfs_write_mft_record, yey! Fixup ntfstools accordingly. 2002/06/04 12:12:41-00:00 !antona Final POSIXification of disk_io functions. (famous last words) 2002/06/02 23:09:43-00:00 !antona Update changelog and my todo 2002/06/02 23:02:20-00:00 !antona More fixes and updates. 2002/06/02 13:57:58-00:00 !antona Fix detection of read-only mounts in volume.c::ntfs_check_mnteent(). 2002/06/01 00:41:44-00:00 !antona huge update! 2002/05/19 18:37:27-00:00 !antona Commit the change log and current todo file so people have a glimpse of what I am upto... 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:40-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:36-00:00 !antona New api call is_boot_sector_ntfs. A few folding help cleanups. 2002/04/23 23:27:32-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/21 01:26:39-00:00 !antona Cleanup/streamline include file dependencies. 2002/04/20 23:10:18-00:00 !antona Forgot something 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:48:31-00:00 !antona Add a TODO list for the library in form of my personal roadmap. People can use that to pick things to work on if they want... 2002/04/19 21:09:54-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:55-00:00 !antona Add foundation of new inode API. 2002/04/18 18:15:45-00:00 !antona Define API for bootsect.[ch]: is_boot_sector_ntfs(). 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 12:13:52-00:00 !antona New API function mft.[ch]::read_file_record(). Also some cleanups. 2002/04/15 20:07:58-00:00 !antona Update 2002/04/15 17:51:26-00:00 !antona read/write_mft_record(s) are here 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:20:10-00:00 !antona Prepare changelog to accept a long list of changes. (-; 2002/04/12 15:35:27-00:00 !antona Fix hopefully last typo. (-: 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/03/12 21:55:30-00:00 !antona Update docs and bump version to 1.6.0. 2002/03/12 21:48:27-00:00 !antona Change version numbers of mkntfs and ntfsfix to match linux-ntfs release and add options to mkntfs to disable content indexing on the volume and to enable compression on the volume. 2002/03/12 00:34:35-00:00 !antona Fix typo in mkntfs usage information. 2002/02/01 02:46:16-00:00 !antona Attempt to fix compile warnings on powerpc. 2002/01/26 03:21:07-00:00 !antona Preparations for 1.5.1 release. 2002/01/26 02:28:29-00:00 !antona Update docs. 2002/01/10 11:04:44-00:00 !antona Updates to spec file for dependencies. 2002/01/10 10:54:27-00:00 !antona Updates 2002/01/10 10:43:04-00:00 !antona Update changelog. 2002/01/10 10:19:29-00:00 !antona Update changelog. 2001/12/15 05:28:50-00:00 !antona Fix abortion in mkntfs due to weird error code EINVAL in seek. 2001/12/15 05:13:08-00:00 !antona Remove atomic ops and add compiler version check. 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/10 19:02:37-00:00 !antona Update changelog with release version numbers. 2001/11/10 14:17:39-00:00 !antona Enhance mkntfs' device size determination. 2001/11/09 23:36:16-00:00 !antona Bug fixes 2001/11/09 21:30:51-00:00 !antona Considering added functionality change version number to 1.3.0, update docs and mkntfs man page. 2001/11/09 19:24:23-00:00 !antona With lots of luck this is going to be 1.2.3. 2001/11/09 18:24:32-00:00 !antona Updates to docs, layout.h and ntfsfix to support Windows XP NTFS 2001/08/27 16:58:07-00:00 !antona Updates. 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/07/25 23:11:49-00:00 !antona Update text files 2001/07/25 13:43:10-00:00 !antona 1.0.2 release. Mkntfs now in sbin and minor bugfix to mkntfs man page. 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:16-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/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)
244 lines
11 KiB
Plaintext
244 lines
11 KiB
Plaintext
04/06/2002 - 1.6.99 - Work in progress.
|
||
- New tool ntfslabel written by Matthew Fanto with a few cleanups from
|
||
me to make it fit in with e2label better.
|
||
- Extend ntfs_mount() to also read in the volume label.
|
||
- Add man page for ntfslabel.
|
||
- Silence verbosity of output from ntfs_mount(). It is now only output
|
||
if ./configure was run with --enable-debug.
|
||
- Remove a LOT of dead code. Massive cleanup.
|
||
- Add full attribute search context and allocation/init/deallocation
|
||
functions (see attrib.c).
|
||
- Remove find_first_attr(). Just use get_attr_search_ctx() +
|
||
find_attr() which has the same effect.
|
||
- Rewrite disk_io.[ch] and mft.[ch] defining new access API:
|
||
disk_io.[ch] provide: ntfs_p{read,write}(),
|
||
ntfs_mst_p{read,write}(), and
|
||
ntfs_{read,write}_clusters().
|
||
mft.[ch] provide: ntfs_{read,write}_mft_record(),
|
||
ntfs_{read,write}_mft_records(), and
|
||
ntfs_get_mft_record_data_size().
|
||
- When writing mft records using the mft.c::ntfs_write_mft_record{s,}()
|
||
interface, the mft mirror is now updated automatically.
|
||
- Add -Wall to compiler options when ./configure is run with
|
||
--enable-debug.
|
||
- Fix minor error code path bugs in mkntfs.c that showed up with -Wall.
|
||
- Fix all compiler warnings that showed up with -Wall.
|
||
- Add new API function, provided by mft.[ch]: ntfs_read_file_record().
|
||
- Add new API calls provided by unistr.[ch]:
|
||
ntfs_ucstombs() and ntfs_mbstoucs().
|
||
- Define API for mst.[ch] providing:
|
||
ntfs_post_read_mst_fixup(),
|
||
ntfs_pre_write_mst_fixup(), and
|
||
ntfs_post_write_mst_fixup().
|
||
- Define API for bootsect.[ch] providing:
|
||
is_boot_sector_ntfs().
|
||
- Add beginning of new API with new files inode.[ch] providing:
|
||
ntfs_{open,close)_inode(), and
|
||
ntfs_open_extent_inode().
|
||
- Note the inode related API is subject to change.
|
||
- Start defining API provided by attrib.[ch]:
|
||
ntfs_attr_search_ctx typedef,
|
||
ntfs_{get,put,reinit}_attr_search_ctx(), and
|
||
ntfs_lookup_attr().
|
||
- Add a TODO.libntfs laying down my personal roadmap for the library.
|
||
- Remove find_attr() from API, everyone must use ntfs_lookup_attr()
|
||
instead.
|
||
- Rename all attribute name constants from $blah to AT_blah.
|
||
- Rename all system file constants from FILE_$blah to FILE_blah.
|
||
- Port lookup_attr() stuff from ntfs tng driver.
|
||
- Implement loading of extent inodes. They are attached on open to the
|
||
base inode and are cached there until the base inode is closed.
|
||
- Cleanup/streamline include file dependencies.
|
||
- Port attribute list merging code from ntfs tng driver. API to follow.
|
||
- Allocate a ntfs_volume in mkntfs and start initializing it instead
|
||
of using the opt global structure. Necessary so can call the
|
||
modified ntfs_decompress_mapping_pairs() from mkntfs.c.
|
||
- Add libntfs/debug.c providing:
|
||
ntfs_debug_dump_run_list().
|
||
- Add new API call ntfs_check_if_mounted() to volume.[ch]. (Matthew
|
||
Fanto, me)
|
||
- Do folding assisting cleanups. (Richard Russon, me)
|
||
- Add new API call is_boot_sector_ntfs() provided by bootsect.[hc].
|
||
- Define and write more API calls provided by attrib.[ch]:
|
||
ntfs_merge_run_lists(),
|
||
ntfs_decompress_mapping_pairs(),
|
||
ntfs_attr_map_run_list(),
|
||
ntfs_{rl,attr}_vcn_to_lcn(),
|
||
ntfs_attr_find_vcn(),
|
||
ntfs_attr_init(),
|
||
ntfs_attr_{open,close}().
|
||
- Add new field mftmirr_size to ntfs_volume structure and initialize
|
||
it to the number of mft records stored in the mft mirror in
|
||
ntfs_mount().
|
||
- Add new fields mftmirr_ni and mftmirr_na to ntfs_volume structure and
|
||
initialize them in ntfs_mount to the $MFTMirr inode and $DATA
|
||
attribute. Ditto for mft_ni ($MFT inode), mft_na ($MFT/$DATA),
|
||
mftbmp_na ($MFT/$BITMAP), lcnbmp_ni ($Bitmap inode), and
|
||
lcnbmp_na ($Bitmap/$DATA). Remove previous fields replaced by these.
|
||
- Rename a few fields in ntfs_volume structure to make them shorter,
|
||
e.g. now have nr_mft_records and nr_clusters.
|
||
- Add new API for doing I/O on both normal and multi sector transfer
|
||
protected ntfs attributes described by the ntfs_attr structure,
|
||
provided by attrib.[hc] (note writing is still restricted to
|
||
overwrite only):
|
||
ntfs_attr_p{read,write}(), and
|
||
ntfs_attr_mst_p{read,write}().
|
||
- Fix detection of read-only mounts in volume.c::ntfs_check_mntent().
|
||
- Start modularising ntfs_mount():
|
||
- Split off the boot sector parsing code and move it to
|
||
bootsect.c::parse_ntfs_boot_sector().
|
||
- Move $MFT loading and parsing code to separate function
|
||
volume.c::ntfs_load_mft().
|
||
- Move $MFTMirr loading and parsing code to
|
||
volume.c::ntfs_load_mftmirr().
|
||
- Move all startup code (loading and parsing of bootsector,
|
||
$MFT, and $MFTMirr) to volume.c::ntfs_startup_volume().
|
||
- Update ntfsfix to above modularisation.
|
||
- Add detection of read-write mounted devices to ntfsfix and refuse to
|
||
operate on them.
|
||
- POSIXify libntfs/disk_io.c. All functions now return partial reads
|
||
and writes and deal with end of file properly. Affected functions:
|
||
ntfs_p{read,write}(),
|
||
ntfs_mst_p{read,write}(), and
|
||
ntfs_{read,write}_clusters().
|
||
- Change ntfsfix to take into account the automatic mft mirror updates.
|
||
- Add new API provided by new files dir.[ch]:
|
||
ntfs_lookup_inode_by_name(), and
|
||
ntfs_readdir().
|
||
- We now use u8, u16, u32, u64, s8, s16, s32, and s64 types and we
|
||
typedef them ourselves from the C99 standard uint8_t, etc types which
|
||
IMO are braindamaged.
|
||
- Better gcc detection in 'configure.in'. (Szakacsits Szabolcs)
|
||
Tested with: egcs-1.0.3 (egcs-2.90.29), egcs-1.1.2 (egcs-2.91.66),
|
||
gcc 2.95.3, 2.96 (from RH 7.1 and 7.3), and 3.0.4.
|
||
- 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.
|
||
- Add new syntactic sugar API provided by attrib.h:
|
||
ntfs_walk_attrs(). (Szakacsits Szabolcs)
|
||
- Add new API for compressing run lists into mapping pairs arrays
|
||
provided by attrib.[ch] (adapted from mkntfs.c):
|
||
ntfs_get_nr_significant_bytes(),
|
||
ntfs_get_size_for_mapping_pairs(),
|
||
ntfs_write_significant_bytes(), and
|
||
ntfs_build_mapping_pairs().
|
||
- Convert mkntfs.c to the above API.
|
||
- Implement attrib.[hc]::ntfs_rl_pwrite() as a low level scatter write
|
||
function analogous in functionality to mkntfs.c::ntfs_rlwrite() but
|
||
with arguments more like ntfs_attr_pwrite() to allow for more
|
||
flexible use.
|
||
- Don't use string concatenation with __FUNCTION__ as gcc-3.x don't
|
||
like it.
|
||
- Move run list functions to runlist.[hc]. (Richard Russon)
|
||
- Add new API to volume.[hc] and use it (Szakacsits Szabolcs):
|
||
ntfs_is_version_supported(),
|
||
NTFS_V{1_[12],2_x,3_[01]}() macros,
|
||
ntfs_reset_logfile(), and
|
||
ntfs_set_volume_flags().
|
||
- Change size autodetection of non-block device files in mkntfs to use
|
||
the stat returned file size rather than the block allocation count to
|
||
cope with precreated sparse files.
|
||
- Remove GPL message text from usage information in mkntfs.
|
||
- New tool, ntfsundelete, written by Richard Russon.
|
||
|
||
12/03/2002 - 1.6.0 - More mkntfs options and cleanups.
|
||
Fix typo in usage information of mkntfs. Thanks to Richard Russon for
|
||
spotting it.
|
||
Change version number in mkntfs and ntfsfix to match the linux-ntfs
|
||
release version number.
|
||
Added two new options to mkntfs; -I, which disables content indexing
|
||
on the volume and -C, which enables compression on the volume.
|
||
|
||
01/02/2002 - Attempt to fix compile warnings on powerpc.
|
||
Attempt to fix compile warnings on powerpc. It seems powerpc uses
|
||
char == unsigned char which was breaking some signed comparisons.
|
||
|
||
26/01/2002 - 1.5.1 - Fix two buglets in ntfsfix and more compilation fixes.
|
||
Fix two silly buglets in ntfsfix, where we were calling is_baad_record
|
||
instead of is_baad_recordp. Silly me... Thanks to David Martinez Moreno
|
||
for reporting the compilation warnings on ia64 which led me to find the
|
||
bug.
|
||
Fix compilation problems in logfile.h on big endian arches. Hopefully,
|
||
now will really compile on all arches.
|
||
|
||
10/01/2002 - 1.5.0 - Fix bug in $LogFile size calculation.
|
||
Fix bug in $LogFile size calculation where we would take the size to
|
||
be zero on partitions between 200 and 400MiB in size.
|
||
Add requirement for linux-ntfs to linux-ntfs-devel.
|
||
|
||
15/12/2001 - Remove atomic ops and add compiler version check.
|
||
Hopefully this will preempt "it doesn't compile for me" messages from
|
||
people with gcc < 2.96.
|
||
Change bail out error check for seek to backup boot sector to a warning
|
||
since SuSE 7.2 + loads of stuff and 2.5.1-pre11 returns EINVAL instead
|
||
of ENOSPC.
|
||
Remove atomic code as it isn't defined on non-i386 arches.
|
||
|
||
06/12/2001 - Change ntfs_mount to accept second argument for mount flags.
|
||
ntfs_mount() now supports mount flags as per "man 2 mount". Currently
|
||
only the MS_RDONLY flag is supported/implemented. This breaks
|
||
compatibility with older libntfs versions and hence the major version
|
||
number of the library has been increased.
|
||
Adapt utilities to make use of new ntfs_mount syntax.
|
||
|
||
17/11/2001 - Add description of compression algorithm.
|
||
|
||
09/11/2001 - 1.4.0 - Major fix in mkntfs, small update to ntfsfix and others.
|
||
Update ntfsfix to support Windows XP NTFS volumes (NTFS 3.1).
|
||
Update layout.h with more information.
|
||
(Re)enable shared libraries.
|
||
Changes to mkntfs:
|
||
- Correct handling of directories on volumes with cluster sizes
|
||
above 4096 bytes.
|
||
- Lower minimum size of NTFS partitions to 1MiB, scaling down the
|
||
logfile size as necessary.
|
||
- Support a wider range of input parameters. Now should have all
|
||
valid combinations covered.
|
||
- Update man page.
|
||
- Implement better determination of device size.
|
||
- Various bug fixes.
|
||
|
||
22/08/2001 - 1.2.2 - Small fix in mkntfs and minor updates.
|
||
Small fix in mkntfs for small volumes with non-standard sector sizes,
|
||
where the default values would result in a sector size smaller than the
|
||
sector size and mkntfs would refuse to run because of this. The man
|
||
page was updated accordingly.
|
||
Minor updates/clarifications to include/layout.h.
|
||
|
||
02/08/2001 - 1.2.1 - Added ntfsfix man page and minor cleanup.
|
||
David Mart<72>nez Moreno <david.martinez@rediris.es> donated a man page
|
||
for ntfsfix as well as spelling mistake fixes all over the place.
|
||
|
||
26/07/2001 - 1.2.0 - Important bug fixes to mkntfs.
|
||
Bug fixes for cluster sizes > 4kb involving corrections to mft mirror
|
||
size and contents, mft data attribute position and mft bitmap size.
|
||
Some of those were nasty so this is a major improvement. Hopefully these
|
||
were the last bugs.
|
||
|
||
25/07/2001 - 1.0.2 - Small cleanup of the distribution.
|
||
Move mkntfs to sbin (was put in bin before).
|
||
Small bugfix to mkntfs man page.
|
||
|
||
24/07/2001 - 1.0.1 - Small cleanup of the distribution.
|
||
Confirmed that at least gcc-2.96 is needed to compile linux-ntfs.
|
||
Removed ldm.c from linux-ntfs. It will reappear as ldminfo.c in a new
|
||
package, probably linux-ldm.
|
||
Taken out some file from the distribution, but they are still present
|
||
in CVS. This is because they are not really useful except if you are
|
||
a developer wanting to play about.
|
||
|
||
10/06/2001 - 1.0.0 - mkntfs release and bugfixes to ntfslib and the others.
|
||
Also, released ldm which dumps the ldm database on Win2k/XP dynamic
|
||
disks.
|
||
A man page for mkntfs is also installed by make install so man 8 mkntfs
|
||
can be used to show the recognised command line options.
|
||
Building of shared libraries is disabled by default as it breaks on
|
||
some systems.
|
||
Probably need at least gcc-2.95 or something like that from now on.
|
||
|
||
02/02/2001 - Started ChangeLog.
|
||
|