Commit Graph

660 Commits (02bab2956c93b1a5e2021a4414b54542590ff029)

Author SHA1 Message Date
cha0smaster e58a468d0c * Fix bug with updating atime on read-only volumes. (Thanks to Szaka and Anton)
* Add MS_NOATIME to ntfs_mount. (By Yuval's request)
2005-11-15 16:31:40 +00:00
cha0smaster f7fe30a0aa Automatically update access and change time in ntfs_attr_p{read,write} and ntfs_attr_truncate. 2005-11-14 15:31:23 +00:00
cha0smaster 632b146410 Add @from_vcn parameter to ntfs_attr_update_mapping_pairs, update all
users to submit it, thus write speed to very fragmented files
dramatically increased, while write speed to low fragmented files
stayed at approximately same level.
2005-11-14 00:17:19 +00:00
szaka 6cd1ea6e75 ntfs_device_mount(): explain a bit better what fails and how 2005-11-13 19:25:05 +00:00
uvman 0d651e54d3 Give a better name to MFT_RECORD_IS_8 and rename FILE_ATTR_DUP_* to match this meaning. 2005-11-11 23:35:56 +00:00
cha0smaster 4652ad72c6 * implement symblic link creation in ntfs_create
* rename ntfs_create -> __ntfs_create. add wrapers ntfs_create{_symlink,_device}
* ntfsmount: implement .symlink
* ntfsmount: fix readdir to emulate . and .. when needed
2005-11-10 18:13:15 +00:00
flatcap 1b49db1f65 turn on progress logging by default 2005-11-10 05:27:45 +00:00
cha0smaster 1254b2951c Fix stupidness introduced in latest changesets. Thanks to Yuval for comments. 2005-11-08 19:49:52 +00:00
cha0smaster 2c3dfcba27 Teech ntfs_create() to create Interix charcter and block devices. Add @dev parameter to ntfs_create() for this. 2005-11-08 16:13:17 +00:00
cha0smaster 53446b07f8 - Change @type parameter for ntfs_create() to be dev_t rather than internal NTFS_DT_* constants.
- Teech ntfs_create() to create FIFOs and sockets.
2005-11-08 15:15:37 +00:00
cha0smaster a732881c5e see changelog 2005-11-07 20:37:07 +00:00
uvman c09fc7ac81 Add myself to the copyright list on win32_io.c 2005-11-06 14:16:24 +00:00
cha0smaster 300f86ac21 * layout.h: update about special INTX files.
* ntfsmount: implement readlink() and add support of symlinks, charcter and block devices to stat().
2005-11-05 22:54:43 +00:00
flatcap 77cc19fd5d fix build warning 2005-11-05 01:34:40 +00:00
flatcap a41e58f8aa simplify a few things 2005-11-05 01:34:21 +00:00
cha0smaster 5bbb43d947 fix really hard to trigger bug in ntfs_delete 2005-11-04 22:43:10 +00:00
flatcap b2606af8ab a few typos 2005-11-02 18:06:48 +00:00
flatcap 83b9eddfc9 provide some meaningful function descriptions 2005-11-02 17:34:08 +00:00
szaka c10f046225 simplified ntfs_generate_guid() 2005-11-01 21:09:52 +00:00
szaka 987f33e5df ntfs_ prefix generate_guid() 2005-11-01 20:24:37 +00:00
flatcap 63c4123bbb another comment 2005-10-31 01:19:27 +00:00
flatcap 9c2e3a8206 add/update function comment blocks
(ok, they need words, but it's a start)
2005-10-31 01:15:12 +00:00
szaka 370bea1395 ntfsinfo: figure out and dump index attribute types 2005-10-30 22:53:38 +00:00
flatcap 121d05deb6 add/update function comment blocks
(ok, they need words, but it's a start)
2005-10-30 16:12:22 +00:00
flatcap 09368b5e83 fix bug in ntfs_log_parse_option - quiet needs you to clear a level, not set it 2005-10-28 16:52:29 +00:00
cha0smaster a7c595fe3c fix build 2005-10-28 13:17:53 +00:00
uvman 5b949d07fa Fix comment formats. 2005-10-28 12:55:41 +00:00
uvman 8f43f0ef4c Match parameter names between .h and .c files 2005-10-28 12:47:49 +00:00
flatcap 8892ba7ac6 remove some colour hacks
remove a few #ifdef DEBUGs and RM_WRITEs
throw in lots of extra traces
2005-10-28 04:32:21 +00:00
flatcap 4e5c1c6efa rebuild logging again.
today's arrangement has five handlers:
ntfs_log_handler_fprintf (renamed from printf)
ntfs_log_handler_null (does nothing, default)
ntfs_log_handler_stdout (everything to stdout)
ntfs_log_handler_outerr (info to stdout, errors to stderr)
ntfs_log_handler_stderr (everything to stderr)
the colour handler has gone away to be replaced by a flag:
NTFS_LOG_FLAG_COLOUR
2005-10-28 04:12:22 +00:00
cha0smaster 73474b68db Fix ntfs_non_resident_attr_expand bug, that occured if we enlarge
sparse or compressed file, but do not need to allocate new clusters to
perfrom this.
2005-10-27 21:20:30 +00:00
cha0smaster 1ce16eddb7 minor cleanup 2005-10-27 20:42:10 +00:00
flatcap 8a584700c5 whitespace fixes - no code changes 2005-10-26 22:54:57 +00:00
flatcap c59d76aed2 missing include 2005-10-26 20:52:53 +00:00
flatcap 1f68df3f69 shorten ntfs_logging_* to ntfs_log_* 2005-10-26 20:46:37 +00:00
szaka 0dc3b0597c fflush() ntfs_log_ streams. (Christophe) 2005-10-26 19:24:45 +00:00
cha0smaster c84e54a441 fix build 2005-10-25 11:54:26 +00:00
uvman 0dd0cdc6be Remove {Dputs, Dprintf, Dperror} and convert callers to ntfs_log_*. Make ntfsinfo use ntfs_logging_parse_option(). 2005-10-25 01:28:10 +00:00
uvman 7cbc0a6cb6 Remove any uses of the old logging system (Dputs, Dprintf, ...) from libntfs. 2005-10-24 20:50:05 +00:00
szaka 746dff1a24 NTFS_INDEX_ prefix $I30, $SII, $SDH, $O and $Q indexes 2005-10-23 18:35:58 +00:00
flatcap f4e427e91a implement logging in libntfs
fix whitespace
fix build problems
tidy source code
and more...
2005-10-21 18:05:13 +00:00
uvman 705814c9d7 Allow building libntfs as a shared library on Cygwin. This should not disturb non-Cygwin enviroments, but not tested. As a side-effect it generates ugly informational messages about importing extern variables. These are not errors or warnings, just info. 2005-10-20 00:59:22 +00:00
szaka 8f03f5a6ca Optionally create NTFS version 3.0 (W2K) or 3.1 (XP, W2K3, Vista).
Contributed by Erik Sornes. No side-effect for v1.2 NTFS which is still
the default. The implementation needs some minor work: see e.g. the chkdsk
messages and the result of ntfscmp'ing the two images.
2005-10-19 22:04:46 +00:00
antona a7fd01e543 $EA can be resident and non-resident. Fix libntfs/attrib.c::
ntfs_attr_can_be_resident() apropriately.  (Anton)
2005-10-19 08:13:44 +00:00
flatcap 2a8d602d9f ntfsrm has been split up and merged into libntfs.
currently it's #ifdef'd out.
tree.c - code for handling directory trees
rich.c - a few helpers without a home (this file will go away soon)
Note: ntfsrm isn't in the build any more (you need to ./configure --enable-rich; make extras).  When rm is less intrusive, again, I'll put it back in the build.
2005-10-16 23:33:03 +00:00
flatcap bde3e0063b centralised logging system 2005-10-16 21:57:00 +00:00
flatcap 8fa46025d5 trailing whitespace 2005-10-16 19:21:47 +00:00
antona a570ee7b37 Fix endiannes bug in libntfs/index.c. (Anton) 2005-10-16 00:07:14 +00:00
antona 1d4958d38c Fix endianness bug (le16 instead of le32 when accessing mft record
bytes_in_use) in volume.c::ntfs_volume_write_flags() and
ntfsfix.c::OLD_ntfs_volume_set_flags().  (Anton)
2005-10-15 23:13:49 +00:00
antona e46d4e8959 Fix silly bug introduced in 1.12.0 which breaks ntfsfix (and others
possibly) when calling ntfs_attr_lookup() with AT_UNNAMED name and
no ntfs inode in the search context.  (Anton)
2005-10-15 20:52:41 +00:00
antona bc4bee7b2f Fix bogus le16_to_cpu() which shouldbe le32_to_cpu() when accessing
the attribute list entry attribute type in some places in
libntfs/attrib.c.  (Anton)
2005-10-15 11:33:42 +00:00
antona 62f9636080 Temporarily disable use of the legal ansi character checking in
libntfs/unistr.c::ntfs_names_collate() pending a proper fix at some
point.  (Anton)
2005-10-13 08:26:02 +00:00
antona a40d7e55d6 - Revert patch from Christophe applied by Yura.
- Provide a realpath() alternative for systems which do not have it.
  This is _much_ nicer as it avoids the horrible #ifdef gunk in the code...
2005-10-10 12:55:11 +00:00
cha0smaster bf91f7c0fc Apply patch from Christophe. 2005-10-10 11:04:56 +00:00
cha0smaster b1c1348d37 fix build under cygwin if FSCTL_GET_NTFS_VOLUME_DATA is not defined 2005-10-09 13:35:15 +00:00
antona 0c293d0407 - Add API (actually renamed from what Rich/FlatCap did):
volume.[hc]::ntfs_libntfs_version() which returns a pointer to a
  static const string of the libntfs verion, i.e. at the moment this is
  "8.0.0".  This required moving the version specifications from
  libntfs/Makefile.am to configure.ac.  This should hopefully have the
  sideeffect that I will remember to increment it when incrementing the
  ntfsprogs version number when making a release given the two are
  right under one another.  (Anton)
- Change ALL utilities to display the libntfs version they are running
  on.  This should make debugging easier in the case that people are
  running mismatched utilities/library.  (Anton)
2005-10-07 14:10:56 +00:00
antona 5f6a0988e3 Fix compiler warning. 2005-10-07 12:47:03 +00:00
cha0smaster 75668af15e last optimizations to ntfs_delete was incorrect, revert it 2005-10-01 00:34:53 +00:00
cha0smaster dff50dc5ba oops, forgot one s/_lookup/_find 2005-09-30 18:57:00 +00:00
cha0smaster ad2e6baf35 Refix my previous fix to fix. :-)
Comment thinks better.
2005-09-30 13:13:38 +00:00
cha0smaster 7aeed859b9 Revert Anton's code that breaks functions needed for attribute resize. 2005-09-30 09:52:05 +00:00
cha0smaster 27d923bffb typo fix 2005-09-30 09:45:54 +00:00
flatcap 1b5ee7b7a3 need config.h for the autoconf #ifdefs 2005-09-29 12:44:42 +00:00
antona 8db479a6b1 Patch from Christophe:
A lot of headers are checked by autoconf (AC_CHECK_HEADERS in configure.ac).
Please find a patch that add the missing "#ifdef" to the source code.
2005-09-28 13:47:47 +00:00
antona 151d0ecb61 Fix the double free that just got added. There was only half a memory leak...
It was a cut and paste error, not a real memory leak.
2005-09-27 18:03:00 +00:00
flatcap 6691212129 fix a memory leak - vol->vol_ni 2005-09-27 17:11:30 +00:00
antona 339abc36b4 More $LogFile handling fixes: when chkdsk has been run, it can leave the
restart pages in the journal without multi sector transfer protection
fixups (i.e. the update sequence array is empty and in fact does not
exist).
2005-09-26 13:18:29 +00:00
cha0smaster 5ca19a130b fix stupid bug in ntfs_delete, optimize it a bit 2005-09-25 14:12:44 +00:00
antona 2a104d8eda Megapatch!!! Check evecrything!!! I probably broke everything!!! 2005-09-24 22:54:55 +00:00
antona 3a50e66a59 Fix a very(!) longstanding bug in ntfs_attr_find() and co.
Also reapply fix to unistr.c name collation.
2005-09-24 20:28:23 +00:00
szaka 24de91b8fa - Support journals which have been modified by chkdsk. (Anton, Szaka)
- Support journals ($LogFile) with only one restart page as well as
  journals with two different restart pages.  (Anton, Szaka)
2005-09-24 15:59:53 +00:00
szaka 054d6777d5 Fix ntfs_names_collate() input sanity check intrudoced in cleanups by
reverting to the original one
2005-09-24 15:29:54 +00:00
cha0smaster 464eab4178 add ntfs_link, update ntfsmount to use it 2005-09-24 15:20:49 +00:00
cha0smaster 7fee848c26 attrib.c: fix line to be <=80 characters long 2005-09-24 13:06:59 +00:00
cha0smaster 48b8edc464 fix attribute list adding 2005-09-24 13:03:07 +00:00
flatcap 531305cc1e Christophe: add easily accessible version info to libntfs 2005-09-22 16:41:43 +00:00
flatcap 374f5ac4f7 *cough* remove some debug #ifdefs 2005-09-19 20:58:54 +00:00
flatcap 459f98c2b2 fix a couple of range bugs (insert,replace)
Anton: fix mergeable - use to merge non-adjacent holes
Anton: factor out "tail" in replace - simplifying code
comment and retest code
2005-09-19 20:50:01 +00:00
cha0smaster 3629d931c6 Fix resident attribute adding: Add @val to ntfs_attr_add and @val and @size to ntfs_resident_attr_record_add.
Still need to fix attribute lis entry adding. :-(
2005-09-16 14:28:18 +00:00
flatcap ab9fb6a01f runlist behaviour changed! please check your applications.
test case 16, where a run is added beyond the end of a file, now behaves
differently.  the discontinuity (gap) is now filled with a "not mapped"
run (before the preceding hole would have been extended).

Anton's bugfix applied and tested
minor code tidyups
loads more comments in runlist_{insert,append,split,replace}
test cases checked and updated where necessary
valgrind happy
2005-09-15 23:42:02 +00:00
flatcap 01f648c952 removing a few unnecessary memsets in the test code revealed a minor
buffer overrun.
create runlist tests working on unmapped regions (copies of tests 1-14)
2005-09-13 18:51:16 +00:00
flatcap d75567112c put the test code where it's more useful 2005-09-13 14:30:51 +00:00
flatcap 0ae7e885d1 bug fix - reading uninitialised memory 2005-09-13 12:51:34 +00:00
cha0smaster c3727658ca * Fix filenames collation.
* Minor comment cleanup.
2005-08-26 20:17:08 +00:00
antona 190e59886f Define PATH_MAX if not defined in ntfsprogs/ntfsmount.c and
libntfs/volume.c.  Needed to compile on DOS with djgpp.  (Christophe)
2005-08-26 11:44:11 +00:00
cha0smaster ca83f4d63c fix brokeness introduced in the last Anton's cleanup 2005-08-23 12:17:39 +00:00
cha0smaster 6f8cd6e5ef Cleanups and memleak fix to error code paths of ntfs_create. 2005-08-22 21:33:07 +00:00
antona c7eaee5a0f Some cleanups. 2005-08-22 09:00:16 +00:00
antona 0f3a85c8e3 Only include sys/ioctl.h in libntfs/device.c if ./configure detected
it to be present.  (Christophe)
2005-08-19 16:01:15 +00:00
cha0smaster 3c6381db2f Thoght that FUSE will check if directory is empty, it didn't. Add such check to ntfs_delete. 2005-08-15 00:50:19 +00:00
cha0smaster 30263fb749 fix stupidness introduced just before commit 2005-08-14 16:06:33 +00:00
cha0smaster 9028a53dfc Sorry it's very large commit (46K of diffs between my local tree and CVS HEAD
before commit), file and directory creation/deletion recursively requested many
changes. See ChangeLog for description of all changes.
2005-08-14 15:44:46 +00:00
uvman 4b8ebe26bb Fix a nasty bug in unistr.c 2005-08-06 12:37:30 +00:00
antona 3b7afbc6f6 Ouch! Have been forgetting to bump libntfs version between releases. )))-:
Now bump it for next release.
2005-08-05 23:51:26 +00:00
antona 6124aafffb Move timeconv to ntfstime, update changelog, and news for new release. 2005-08-04 09:59:39 +00:00
antona 41d459b15c Improve on decompression fix from Yura. 2005-08-04 08:09:58 +00:00
cha0smaster 6d4e6d9893 * fix ntfs_attr_open
* update for 1.11.2
2005-08-04 00:00:27 +00:00
cha0smaster 0959ea9907 Fix ntfs_is_cb_compressed for nasty runlist merging case in which
compression block was incorrectly treated as not compressed.
2005-08-03 21:25:42 +00:00
cha0smaster fe67916350 * attrib.c: refix ntfs_attr_p{read,write}
* ntfsmount.c: code that now not really needed, but for any case
2005-08-03 13:52:50 +00:00
szaka 06052dafcf Replaced all occurances of ENOTSUP to EOPNOTSUPP to be in better harmony
with the kernel driver
2005-08-01 22:10:38 +00:00