Commit Graph

202 Commits (37b43614ab60101f702c9e511d7d92d76e18a60b)

Author SHA1 Message Date
cantab.net!aia21 3088f60dc3 Ooops. Make it compile...
(Logical change 1.221)
2003-10-29 17:42:45 +00:00
cantab.net!aia21 8f310e5bf2 Make ntfs_attr_make_non_resident() return error EPERM if
it is called for an attribute that cannot be non-resident.
Implement ntfs_attr_can_be_resident().
Start working on ntfs_attr_make_resident().

(Logical change 1.220)
2003-10-29 17:40:03 +00:00
cantab.net!aia21 d993588f0c Implement rollback in ntfs_mft_record_free().
(Logical change 1.219)
2003-10-29 17:35:15 +00:00
cantab.net!aia21 1ef194e7ae (Logical change 1.216) 2003-10-27 17:07:57 +00:00
flatcap.org!ntfs 5587fe0549 make ntfs_attr_close a bit safer
(Logical change 1.214)
2003-10-26 12:40:40 +00:00
cantab.net!aia21 9f07090763 Fixes from Lode to make it work on Cygwin.
(Logical change 1.211)
2003-10-23 12:28:44 +00:00
cantab.net!aia21 67591d0256 update
(Logical change 1.209)
2003-10-17 15:43:14 +00:00
flatcap.org!ntfs cc4f8fccbd typo
(Logical change 1.205)
2003-10-12 17:38:05 +00:00
flatcap.org!ntfs d0cc759878 Updates from Szaka
(Logical change 1.191)
2003-10-09 07:56:06 +00:00
flatcap.org!ntfs 47df17cb17 Fix the build
(Logical change 1.190)
2003-10-06 19:21:42 +00:00
cantab.net!aia21 f49930c0f4 ntfs_device_disk_io_ops is now ntfs_device_default_io_ops.
(Logical change 1.188)
2003-10-06 11:38:25 +00:00
cantab.net!aia21 a34d218e90 merge common functions from disk_io.c into device.c
(Logical change 1.188)
2003-10-06 11:38:25 +00:00
cantab.net!aia21 14b8a9bab6 disk_io is gone. device_io appears.
(Logical change 1.188)
2003-10-06 11:38:25 +00:00
cantab.net!aia21 7af52becdd common functions moved from diks_io.h to device.h
(Logical change 1.188)
2003-10-06 11:38:25 +00:00
cantab.net!aia21 0e6dac03b6 Moved from disk_io.c. All functions specific to unix style device operations.
}(Logical change 1.188)
2003-10-06 11:38:25 +00:00
cantab.net!aia21 d999304a70 Moved from disk_io.c. All functions specific to unix style device operations.
2003/10/06 10:37:38+01:00 cantab.net!aia21
Rename: libntfs/disk_io.c -> libntfs/unix_io.c

(Logical change 1.188)
2003-10-06 11:38:25 +00:00
cantab.net!aia21 68fc3c2642 Make stat and ioctl return error instead of silently succeeding.
This probably breaks Cygwin but never mind...

(Logical change 1.188)
2003-10-06 11:38:25 +00:00
cantab.net!aia21 3d3b853379 Initial revision 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 433801118e Add win32_io.c to be distributed.
(Logical change 1.185)
2003-09-30 10:32:09 +00:00
cantab.net!aia21 e9bce127fa Auto merged
2003/09/24 14:13:09+01:00 cantab.net!aia21
Fix a silly bug in attrib.c::ntfs_external_attr_find() which caused
us to always return the same attribute during an enumeration as soon
as the end of the attributes to be enumerated was reached thus
causing the program doing the enumeration to hang in a tight loop.
NOTE: There is still work to do as ctx->al_entry is set to NULL
instead of to the position in the attribute list at which to insert.

(Logical change 1.182)
2003-09-24 13:16:33 +00:00
flatcap.org!flatcap cd9e3ed970 comment to help folding
(Logical change 1.177)
2003-09-05 21:37:08 +00:00
cantab.net!aia21 f2dd1f454f Auto merged
2003/08/03 15:52:54+01:00 cantab.net!aia21
- Return ENOTDIR errno if inode is not a directory.
- Fix stupid bug where we attempt to close ia_na when it is null.

(Logical change 1.169)
2003-08-03 14:56:03 +00:00
cantab.net!aia21 8b9987bf4d - Return ENOTDIR errno if inode is not a directory.
- Fix stupid bug where we attempt to close ia_na when it is null.

(Logical change 1.168)
2003-08-03 14:54:06 +00:00
cantab.net!aia21 bef4012b5e sys/ioctl.h always needed.
__LINUX__ no longer works.  Use linux instead.

(Logical change 1.166)
2003-07-31 14:12:36 +00:00
cantab.net!aia21 951bacc20b Use hasmntopt only if it exists.
(Logical change 1.166)
2003-07-31 14:12:36 +00:00
cantab.net!aia21 162c1b9161 Lode Leroy: Fix typo in win32_io.c.
(Logical change 1.164)
2003-07-29 16:28:09 +00:00
cantab.net!aia21 18341d53b0 tidy up win32_io.c, especially error returns. I hope this works on windows...
(Logical change 1.163)
2003-07-29 10:12:43 +00:00
cantab.net!aia21 8a4288ed10 Fix a typo when I was Cifying the code. (Thanks to Lode for telling me what I did wrong.)
(Logical change 1.159)
2003-07-23 09:33:40 +00:00
cantab.net!aia21 4b02e7606e Initial revision 2003-07-22 12:20:41 +00:00
cantab.net!aia21 8ea36f6e84 (Logical change 1.155) 2003-07-22 12:20:41 +00:00
cantab.net!aia21 53340e947e Two little typo fixes.
(Logical change 1.154)
2003-07-16 15:01:54 +00:00
cantab.net!aia21 c6069336f8 Improve the MS_RDONLY check.
(Logical change 1.153)
2003-07-12 15:46:12 +00:00
cantab.net!aia21 993640ad31 Fix the O_RDONLY vs O_RDWR check. It was failing because
O_RDONLY is zero and hence the old check was always successful.

(Logical change 1.153)
2003-07-12 15:46:12 +00:00
cantab.net!aia21 5c2ff2283b Bump LTVERSION by one because the library interfaces have changed.
(Logical change 1.142)
2003-06-03 12:37:21 +00:00
cantab.net!aia21 75d44c72a0 Add stat to ntfs_device_operations and implement mandatory locking when
opening / closing the device (in the default disk_io functions).

2003/06/03 10:35:17+01:00 cantab.net!aia21
Add Dirty bit setting/clearing.

(Logical change 1.139)
2003-06-03 11:07:54 +00:00
cantab.net!aia21 137b10dca8 Add ntfs_volume_alloc() for low level utilities.
2003/06/03 10:35:17+01:00 cantab.net!aia21
Cleanup and do not destroy the ntfs device structure when unmounting a volume.

(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 15ed630289 Update.
2003/05/25 20:40:26+01:00 cantab.net!aia21
Add -fms-extensions when compiling with gcc-3.2+.

(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 3d929125fa Add device.c.
2003/05/25 20:40:26+01:00 cantab.net!aia21
Add -fms-extensions when compiling with gcc-3.2+.

(Logical change 1.136)
2003-05-26 12:58:41 +00:00
cantab.net!aia21 5389b4d556 (Logical change 1.136) 2003-05-26 12:58:41 +00:00
cantab.net!aia21 80487422f7 Fix off-by-one error in ntfs_cluster_{read,write}(). (Ian Jackson)
(Logical change 1.135)
2003-05-06 22:03:28 +00:00
cantab.net!aia21 549751634a patch from Szaka:
This is needed, otherwise ntfsimage outputs libntfs messages in debug
mode if stdout specified thus confusing e.g. compressing tools reading
from pipe.  E.g. 'ntfsimage -o - device | bzip2 ...' creates a
corrupted, unusable ntfs image.

I've looked through libntfs and apparently no other places with this
problem.

	Szaka

(Logical change 1.132)
2003-03-24 13:51:37 +00:00
cantab.net!aia21 640b2c164b Auto merged
2003/03/18 16:54:33+00:00 cantab.net!aia21
fix typo

(Logical change 1.129)
2003-03-18 16:54:39 +00:00
cantab.net!aia21 958a75b6cd Fix multi string literal typo.
(Logical change 1.127)
2003-03-14 00:48:50 +00:00
cantab.net!aia21 7e14335b3f Fix attempt to release I30 constant.
(Logical change 1.127)
2003-03-14 00:48:50 +00:00
cantab.net!aia21 726999e691 More work on attribute resizing.
(Logical change 1.126)
2003-03-11 00:06:21 +00:00
cantab.net!aia21 565f90e5e6 update
(Logical change 1.125)
2003-03-07 17:31:47 +00:00
cantab.net!aia21 20c360bdf1 Fix logic inversion bugs. Thanks to Russ Christensen for finding the
first one.

(Logical change 1.125)
2003-03-07 17:31:47 +00:00
cantab.net!aia21 fb7a94516e Typo fix...
(Logical change 1.124)
2003-02-25 18:57:15 +00:00
cantab.net!aia21 1247d0e2ea More work on attribute resizing...
(Logical change 1.124)
2003-02-25 18:57:15 +00:00
cantab.net!aia21 8314ab1f9d Endian fix and attribute resize code cleanup.
(Logical change 1.122)
2003-02-18 21:40:26 +00:00
cantab.net!aia21 b42dc41d6a ntfs_mft_records_write(): stupid buffer overflow bug (ouch!)
(Logical change 1.121)
2003-02-13 10:27:33 +00:00
cantab.net!aia21 7103d67341 ntfs_external_attr_find(): broken error detection
(Logical change 1.121)
2003-02-13 10:27:33 +00:00
cantab.net!aia21 d650fb065b Fix stupid bug in ntfs_mapping_pairs_build() (thanks to Szaka!) and
a simillar bug in ntfs_get_size_for_mapping_pairs().

(Logical change 1.113)
2003-02-06 15:20:56 +00:00
cantab.net!aia21 82d9438cb9 remove unnecessary FIXME
(Logical change 1.112)
2003-01-28 15:40:39 +00:00
cantab.net!aia21 b37b14e014 Implementation of ntfs_cluster_alloc(). (Some fixme's remaining
and note this is _completely_ untested code!!! DANGEROUS!!!)

(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
flatcap.org!flatcap b6cfa71e8f whitespace tweak
(Logical change 1.105)
2003-01-19 22:01:18 +00:00
cantab.net!aia21 e8430e5dea Remove fdatasync() calls from ntfs_pwrite(). We purely rely on
ntfs_umount() to do the syncing and this results in a massive
speed up when running io intensive libntfs based applications.

(Logical change 1.97)
2003-01-16 17:28:04 +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 6087f46b67 update
(Logical change 1.92)
2003-01-13 17:17:52 +00:00
cantab.net!aia21 f84e1e7a1c fix by Szaka (logic inversion in ntfs_device_size_get())
(Logical change 1.92)
2003-01-13 17:17:52 +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 3d4f80ae16 sync with Paul
a typos left over from the big rename

(Logical change 1.82)
2003-01-09 16:30:59 +00:00
flatcap.org!flatcap 953ac4ff86 sync with Paul
(Logical change 1.82)
2003-01-09 16:30:59 +00:00
flatcap.org!flatcap 4a763bc970 a typos left over from the big rename
(Logical change 1.82)
2003-01-09 16:30:59 +00:00
flatcap.org!flatcap 679206550b add -Wall to normal build (not just debug)
(Logical change 1.80)
2003-01-09 01:42:21 +00:00
cantab.net!aia21 57f0b7300e update copyright
(Logical change 1.78)
2003-01-08 10:48:09 +00:00
cantab.net!aia21 ea773ce760 - New API function: ntfs_attr_can_be_non_resident().
- Check whether the attribute name needs moving when resizing the
  resident part of an attribute record.
- Create internal function ntfs_attr_find_in_attrdef().

(Logical change 1.78)
2003-01-08 10:48:09 +00:00
cantab.net!aia21 8a3f5f4c00 fix compile (thanks to Szaka)
(Logical change 1.76)
2003-01-06 22:08:00 +00:00
cantab.net!aia21 75c2ef39f0 (Logical change 1.76) 2003-01-06 22:08:00 +00:00
cantab.net!aia21 08ef32703a - Clear newly allocated space in ntfs_resident_attr_value_resize().
- Rename ntfs_resident_attr_shrink() to ntfs_resident_attr_resize()
  and make it resize upwards as well as downwards.
- Change ntfs_attr_truncate() to allow resizing upwards of resident
  attributes.

(Logical change 1.75)
2002-12-30 12:23:10 +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 2dbb7c23a5 Fix erroneusly placed err = errno.
(Logical change 1.74)
2002-12-29 21:37:21 +00:00
cantab.net!aia21 3bcc223bfd Change ntfs_inode_close() to disconnect extent inodes from their base
inode when an extent inode is closed. This is needed byt ntfs_mft_record_free()
in order to be able to free extent mft records.

(Logical change 1.74)
2002-12-29 21:37:21 +00:00
cantab.net!aia21 36ee87eab4 Add new API ntfs_attr_size_bounds_check().
(Logical change 1.73)
2002-12-29 17:54:10 +00:00
cantab.net!aia21 7bd63f4186 Uncomment still unused label.
(Logical change 1.72)
2002-12-29 12:17:35 +00:00
cantab.net!aia21 f75d0c5be5 Load the attribute definition table at mount time and free it at umount time.
(Logical change 1.72)
2002-12-29 12:17:35 +00:00
cantab.net!aia21 998104321b Forgot the increment in the while loop. Thanks to Szaka for spotting this.
(Logical change 1.71)
2002-12-28 22:28:02 +00:00
cantab.net!aia21 7b2cb8211f Add test and comments for truncation of non-resident attributes to
zero size. We should be converting such an attribute to a resident
one instead of leaving a zero size non-resident attribute.

(Logical change 1.70)
2002-12-28 22:13:06 +00:00
cantab.net!aia21 4084c90c93 Remove silly and wrong sanity check.
(Logical change 1.69)
2002-12-28 20:10:50 +00:00
cantab.net!aia21 3d5d045fe4 Fix stupid typo bugs.
(Logical change 1.69)
2002-12-28 20:10:50 +00:00
cantab.net!aia21 722a3eb12f Fix stupid typo bug.
(Logical change 1.69)
2002-12-28 20:10:50 +00:00
cantab.net!aia21 65f89be321 Fix truncation of resident attributes (new attribute length calculation
was incorrect).

(Logical change 1.68)
2002-12-28 19:19:05 +00:00
cantab.net!aia21 cf827730eb - Only resize resident attribute records if there is a sufficiently
large change in the length of the attribute value.
- Only deallocate clusters, truncate the runlist, and regenerate the
  mapping pairs array if the change in the non-resident attribute
  value is sufficiently large.

(Logical change 1.67)
2002-12-28 12:04:07 +00:00
cantab.net!aia21 9fd4cc17e3 Do not perform the actual write on a read-only volume!
(Logical change 1.66)
2002-12-27 23:44:01 +00:00
cantab.net!aia21 19c9c5dff3 ntfs_umount() now also does an fdatasync() on the device before closing it.
(Logical change 1.64)
2002-12-27 23:14:11 +00:00
cantab.net!aia21 ebe9aa33f3 Implement ntfs_rl_truncate().
(Logical change 1.63)
2002-12-27 18:53:56 +00:00
cantab.net!aia21 ac10aa7709 Setup 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 e5d59f00f1 Fix compile.
(Logical change 1.60)
2002-12-27 16:35:17 +00:00
cantab.net!aia21 ccf8a369a2 Update build process for bitmap.c.
(Logical change 1.59)
2002-12-27 16:18:10 +00:00
cantab.net!aia21 42338a8bee Typo fix.
(Logical change 1.59)
2002-12-27 16:18:10 +00:00
cantab.net!aia21 54cde7ab8e (Logical change 1.59) 2002-12-27 16:18:10 +00:00
cantab.net!aia21 26a99e4db3 Initial revision 2002-12-27 16:18:10 +00:00
cantab.net!aia21 d761ee8105 Fix compilation.
2002/12/27 16:03:18+00:00 cantab.net!aia21
Implement ntfs_cluster_free().

(Logical change 1.59)
2002-12-27 16:18:10 +00:00